es12
的 ECMAScript(ES)标准是 ES12,也被称为 ES2022。ES2022 于 2021 年发布,引入了一些新的语言特性和改进。以下是 ES2022 中的一些主要特性:
-
String.prototype.replaceAll() 方法:
replaceAll()
方法用于替换字符串中所有匹配的子字符串。javascriptCopy Codeconst str = 'Hello, World!'; console.log(str.replaceAll('o', '*')); // Hell*, W*rld!
-
Promise.any() 方法:
Promise.any()
方法接受一个 Promise 数组,并返回该数组中第一个解决(fulfilled)的 Promise 的值。javascriptCopy Codeconst promises = [ Promise.reject('Error 1'), Promise.resolve('Success 1'), Promise.reject('Error 2') ];
Promise.any(promises)
.then(result => console.log(result)) // Success 1
.catch(error => console.error(error));
-
WeakRefs 弱引用: 弱引用允许对象在没有被引用时自动垃圾回收。这对于需要处理大量临时对象的情况非常有用。
javascriptCopy Codelet obj = { name: 'Alice' }; const weakRef = new WeakRef(obj);
// 当没有其他引用指向对象时,obj 将被自动回收
-
Logical Assignment Operators 逻辑赋值运算符: 逻辑赋值运算符结合了逻辑运算符和赋值运算符,用于简化变量的更新。
javascriptCopy Codelet x = 5; x ||= 10; // 等同于 x = x || 10;
let y = null;
y ??= 20; // 等同于 y = y ?? 20;