📅  最后修改于: 2023-12-03 15:30:35.794000             🧑  作者: Mango
ECMAScript 2021 是 JavaScript 的最新版本,同时也是一系列新特性的发布。这些新特性将使得开发人员更加容易地编写更安全和更好的代码。以下是 ECMAScript 2021 新增的几个重要特性:
字符串操作一直是 JavaScript 中比较繁琐且易错的地方,ES2021 引入了 replaceAll
函数使得字符串替换操作更易于使用。
const str = "hello world";
const replaced = str.replaceAll("hello", "hi");
console.log(replaced); // "hi world"
Promise.any
函数在多个异步操作之间选择第一个成功的操作并返回它的值。如果所有操作都失败,则返回一个 AggregateError
对象,其中包含一个失败操作的数组。
const promises = [
Promise.reject(0),
Promise.resolve(1),
Promise.reject(2),
];
Promise.any(promises).then((result) => {
console.log(result); // 1
}).catch((err) => {
console.log(err.errors); // [0, 2]
});
ES2021 引入了逻辑赋值运算符,使得对变量的赋值更加地简便。
let count = 1;
count ||= 2; // 等同于 count = count || 2;
console.log(count); // 1
let enabled;
enabled ??= false; // 等同于 enabled === null || enabled === undefined ? false : enabled;
console.log(enabled); // false
WeakRefs
是一种新的对象引用类型,它们不会阻止它们引用的对象被垃圾回收。这使得开发人员可以更好地管理内存并确保程序的稳定性。
const reference = { value: 42 };
const weakRef = new WeakRef(reference);
console.log(weakRef.deref().value); // 42
在数字常量中使用 _
分隔符有助于代码的可读性和打印输出。
const num = 1_000_000_000;
console.log(num); // 1000000000
以上是 ECMAScript 2021 新增的几个特性,每个特性都将帮助开发人员更好地编写 JavaScript 代码,并使得编写更高质量的应用程序更加容易。