返回
ES2021 新特性解读
前端
2024-01-22 05:18:14
ES2021 带来的新特性
ES2021(又称 ES12)是 JavaScript 的最新版本,于 2021 年 6 月发布。它带来了一些激动人心的新特性,包括:
- BigInt:一种新的数字类型,可用于表示比 Number 类型更大的数字。
- Nullish 合并运算符(??):用于检查两个表达式是否都为 null 或 undefined,如果是,则返回第一个表达式的值,否则返回第二个表达式的值。
- 可选链式(?.):用于安全地访问对象属性或数组元素,而无需担心对象或数组为 null 或 undefined。
- 全局 this 绑定:允许在任何地方使用 this 来访问全局对象,而无需显式绑定。
- Promise.any() 和 Promise.allSettled():两个新的 Promise 方法,用于处理并发 Promise。
新特性示例
以下是这些新特性的示例:
// BigInt
const bigInt = 12345678901234567890n;
// Nullish 合并运算符
const value = x ?? y;
// 可选链式
const name = person?.name;
// 全局 this 绑定
console.log(this);
// Promise.any()
const promises = [
Promise.resolve(1),
Promise.reject(2),
Promise.resolve(3),
];
Promise.any(promises).then((value) => {
console.log(value); // 1
});
// Promise.allSettled()
const promises = [
Promise.resolve(1),
Promise.reject(2),
Promise.resolve(3),
];
Promise.allSettled(promises).then((results) => {
console.log(results);
// [
// { status: 'fulfilled', value: 1 },
// { status: 'rejected', reason: 2 },
// { status: 'fulfilled', value: 3 },
// ]
});
结论
ES2021 引入的新特性使 JavaScript 更强大、更灵活。这些特性使开发人员可以编写更简洁、更可维护的代码。ES2021 现已由所有主要浏览器支持,因此开发人员可以开始使用这些新特性来构建更强大的应用程序。