ES2023,也称为Ecmascript 14(ES14),引入了新的数组复制方法,使JavaScript程序更具可预测性和可维护。这些方法包括 tosorted,toreversed,tospliced及其使用,允许您在数组上执行操作而无需更改适当的数据,而是通过制作副本和更改该副本
array.prototype.with()
array.prototype.with()方法是使用括号符号的复制版本,以在数组中的给定索引处设置元素的值。与括号符号不同,它不会突变被调用的数组。它返回一个新数组,允许您在执行操作时链条阵列方法,而不必担心突变原始数组
例如,考虑以下代码段:
没有.with()方法,您将需要先复制数组,进行突变,然后对副本进行排序
.with()方法简化了此过程,允许您链接到.sort()方法:
ES2023中引入的新数组方法通过允许您在数组上执行操作而无需更改数据,从而使JavaScript程序更具可预测性和可维护。尤其是使用()方法简化了链接阵列方法的过程,而不必担心突变原始数组。随着浏览器对这些方法的支持不断增长,开发人员可以期待更有效和可维护的代码。
这些方法的偏低
尽管Ecmascript 2023规格非常新,但已经对这些新数组方法有很好的支持。 Chrome 110,Safari 16.3,Node.js 20和Deno 1.31所有支持这些方法及其相应的多填充和垫片可用于尚无支持的平台