返回

ES2021 新特性解读

前端

ES2021 带来的新特性

ES2021(又称 ES12)是 JavaScript 的最新版本,于 2021 年 6 月发布。它带来了一些激动人心的新特性,包括:

  1. BigInt:一种新的数字类型,可用于表示比 Number 类型更大的数字。
  2. Nullish 合并运算符(??):用于检查两个表达式是否都为 null 或 undefined,如果是,则返回第一个表达式的值,否则返回第二个表达式的值。
  3. 可选链式(?.):用于安全地访问对象属性或数组元素,而无需担心对象或数组为 null 或 undefined。
  4. 全局 this 绑定:允许在任何地方使用 this 来访问全局对象,而无需显式绑定。
  5. 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 现已由所有主要浏览器支持,因此开发人员可以开始使用这些新特性来构建更强大的应用程序。