嘿 JavascrIPt 爱好者!本文介绍了我们喜爱的脚本语言 javascript 的最新和最强大的功能。无论您是经验丰富的开发人员还是刚刚涉足编码,这些更新都一定会增强您的体验。让我们来看看您今天就可以开始使用的最重要的 javascript 功能!
1. 可选链接
不再需要通过空检查进行长长的属性访问链!可选链接允许您安全地访问深层嵌套的属性。
1
2
|
const user = { profile: { bio: { name: 'jane doe' } } };
console.log(user?.profile?.bio?.name);
|
2. 空值合并运算符
使用空值合并运算符 (??) 避免那些烦人的空值或未定义值。仅当左侧为空或未定义时,它才允许您设置默认值。
1
2
3
|
const userinput = null;
const username = userinput ?? 'guest' ;
console.log(username);
|
3. 大整数
在 javascript 中处理大整数从未如此简单。 bigint 允许您处理大于 number 类型的安全整数限制的数字。
1
2
|
const bignumber = 9007199254740991n + 1n;
console.log(bignumber);
|
4. 动态导入
通过动态导入在运行时动态加载模块,这有助于优化加载时间和资源。
1
2
3
4
5
|
if (condition) {
import( './module.JS' ).then((module) => {
module. default ();
});
}
|
5.promise.allsettled
处理多个 promise 并获取每个 promise 的结果,无论它们是履行还是拒绝。
1
2
3
4
|
const promises = [fetch( '/API' ), fetch( '/other-api' )];
promise.allsettled(promises).then((results) =>
results. foreach ((result) => console.log(result.status))
);
|
6. 私有类字段
使用私有类字段保持类内部的私有性。这些只能在班级内访问。
1
2
3
4
5
6
7
8
9
10
|
class myclass {
#privatefield = 42;
getprivatefield() {
return this.#privatefield;
}
}
const myinstance = new myclass();
console.log(myinstance.getprivatefield());
|
7. 逻辑赋值运算符
以更短、更易读的语法将逻辑运算符与赋值结合起来。
1
2
3
|
let a = 0;
a ||= 1;
console.log(a);
|
8. string.prototype.replaceall
使用replaceall轻松替换字符串中所有出现的子字符串。
1
2
3
|
const text = 'hello world! hello universe!' ;
const newtext = text.replaceall( 'hello' , 'hi' );
console.log(newtext);
|
9. 弱引用
创建对对象的弱引用,防止它们被垃圾收集。
1
2
3
|
let obj = { data: 'important' };
const weakref = new weakref(obj);
obj = null;
|
10. 顶级等待
在模块的顶层使用await关键字,简化异步代码。
1
2
|
const data = await fetch( '/api' ).then((res) => res.JSON());
console.log(data);
|
包起来
2024 年对于 javascript 开发者来说是光明的一年!借助这些新功能,您将编写出更清晰、更高效且更具可读性的代码。因此,请更新您的工具并开始探索 Web 开发中的这些精彩更新。