fszj

导航

es12

的 ECMAScript(ES)标准是 ES12,也被称为 ES2022。ES2022 于 2021 年发布,引入了一些新的语言特性和改进。以下是 ES2022 中的一些主要特性:

  1. String.prototype.replaceAll() 方法: replaceAll() 方法用于替换字符串中所有匹配的子字符串。

    javascriptCopy Code
    const str = 'Hello, World!';
    console.log(str.replaceAll('o', '*')); // Hell*, W*rld!
    
  2. Promise.any() 方法: Promise.any() 方法接受一个 Promise 数组,并返回该数组中第一个解决(fulfilled)的 Promise 的值。

    javascriptCopy Code
    const 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));

  3. WeakRefs 弱引用: 弱引用允许对象在没有被引用时自动垃圾回收。这对于需要处理大量临时对象的情况非常有用。

    javascriptCopy Code
    let obj = { name: 'Alice' };
    const weakRef = new WeakRef(obj);
    

    // 当没有其他引用指向对象时,obj 将被自动回收

  4. Logical Assignment Operators 逻辑赋值运算符: 逻辑赋值运算符结合了逻辑运算符和赋值运算符,用于简化变量的更新。

    javascriptCopy Code
    let x = 5;
    x ||= 10; // 等同于 x = x || 10;
    

    let y = null;
    y ??= 20; // 等同于 y = y ?? 20;

posted on 2024-03-11 13:33  葫芦画瓢  阅读(11)  评论(0编辑  收藏  举报