速读ES14中的所有新特性提高编码效率,你不会还不知道吧?

398 阅读2分钟

速读ES14中的所有新特性提高编码效率,你不会还不知道吧?

大家好,我是梦兽。今天要给大家带来的分享ES14中的所有新特性提高编码效率。如果想了解更多WEB开发关注梦兽编程公众号,即可获取微信群。

ECMAScript规范是JavaScript开发人员和教育者的基本参考,也是JavaScript引擎实现者的官方技术规范。这个规范是一个活动的文档,会随着语言的发展而更新。

toSorted

数组原型对象的toSorted方法:这是一个新的数组方法,与sort()方法类似,但它创建并返回一个**「新的数组」**,而不是在原数组上进行排序。

let arr = [5,4,2,3,1]
arr === arr.sort(); // true 
arr === arr.toSorted(); // false 形成新数组,所以为False

使用比较函数:toSorted()方法接受一个可选的比较函数参数,允许用户自定义排序逻辑。

let arr = [5,4,2,3,1].toSorted((a,b)=>{
  return b - a; 
})

toReversed()方法:

类似于reverse(),但返回一个新的数组而不是原地操作。

["1","2","3","4","5"].toReversed(); // ['5''4''3''2''1']

Array.prototype.with方法:

允许根据索引修改数组中的单个元素,并返回新数组。

const arr4 = ["I""am""rex"];
const newArr4 = arr4.with(2"Ape Man");
console.log(newArr4);

// output : I am Ape Man

Array.prototype.findLast方法:

从数组中获取最后一个匹配元素的实例。

onst arr = [243455751077];
const lastEvenIndex = arr.findLast((element) => {
  return element % 2 === 0;
});
console.log(lastEvenIndex); // 10

findLastIndex()方法:

与findLast()类似,但返回匹配元素的索引。

Array.prototype.toSpliced方法:

类似于数组的splice方法,但返回一个新数组。

Shebang支持:

ECMAScript 14支持在JavaScript文件中使用shebang,允许直接运行脚本。

#!/usr/bin/env node
console.log("Hello, world!");

代码告诉操作系统使用node程序来运行这个脚本。现在,你可以直接输入命令来运行它。如果没有Shebang注释, ../hello.js这样是行不通的。Shebang支持是规范中的一个功能更新,已经在多个上下文中非官方地采用和实现。

无需像以前node ./hello.js

扩展弱引用集合键:

ES14允许在集合中使用大多数符号作为键,而以前只能使用对象。

var map = new WeakMap(); // create a weak map
function useSymbol(symbol){
    doSomethingWith(symbol);
    var called = map.get(symbol) || 0;
    called++; // called one more time
    if(called > 2) console.log(“Called more than twice”);
    map.set(symbol, called);
}

let mySymbol = Symbol(“FooBar”);
useSymbol(mySymbol);
useSymbol(mySymbol);
useSymbol(mySymbol);

这样可以让我们更好的使用WeakMap。现在的Key只需要定义一个唯一的Symbol类型即可。

尽管2023年对JavaScript来说变化不大,但ECMAScript 14的更新使得官方规范与现实世界保持了同步,并为未来的变化,如全新的Temporal API,奠定了基础。

如果您有关于这篇文章的具体问题或需要更详细的信息,请告诉我,我会尽力帮助您。

本文使用 markdown.com.cn 排版