速读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 = [24, 34, 55, 75, 10, 77];
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 排版