Array.prototype
中的新方法 - 复制数组
array.protype上的reverse()
,sort()
和splice()
方法将数组变为适当的位置。为了避免突变,ES2023引入了等效方法,该方法返回执行这些操作的数组的副本。
toreversed()方法
const original = [1, 2, 3, 4];
const reversed = original.toReversed();
console.log(original);
// [ 1, 2, 3, 4 ]
console.log(reversed);
// [ 4, 3, 2, 1 ]
TOSORTED(compareFn)方法
const original = [1, 3, 2, 4];
const sorted = original.toSorted();
console.log(original);
// [ 1, 3, 2, 4 ]
console.log(sorted);
// [ 1, 2, 3, 4 ]
tospliced(start,deletecount,...项目)方法
const original = [1, 4];
const spliced = original.toSpliced(1, 2);
console.log(original);
// [ 1, 4 ]
console.log(spliced);
// [ 1, 2, 3, 4 ]
(索引,值)方法
const original = [1, 2, 3, 4];
const withThree = original.with(2, 5);
console.log(original);
// [ 1, 2, 3, 4 ]
console.log(withThree);
// [ 1, 2, 5, 4 ]
将符号用作WeakMap
键
在JavaScript中,Objects
和Symbols
保证是独一无二的,不能重新创建,这使它们都是WeakMap
键的绝佳候选者。以前的版本或规格仅允许使用Objects
,但是在ES2023中,我们可以将Symbols
用作弱图key
。
const weak = new WeakMap();
const key = Symbol("ref");
weak.set(key, "ECMAScript 2023");
console.log(weak.get(key));
// ECMAScript 2023
阵列从最后找到
ES2023在Array
和TypedArray
原型上添加了findLast()
和findLastIndex()
方法。它们类似于find()
和findIndex()
,但以相反顺序进行迭代。
const isEven = (number) => number % 2 === 0;
const numbers = [1, 2, 3, 4];
// from first to the last lookup
console.log(numbers.find(isEven));
// 2
console.log(numbers.findIndex(isEven));
// 1
// from last to the first lookup
console.log(numbers.findLast(isEven));
// 4
console.log(numbers.findLastIndex(isEven));
// 3
Hashbang语法
hashbang,也称为shebang是一个可执行脚本的开头的字符序列,它为要运行的程序定义了解释器。
#!/usr/bin/env node
console.log('hello');
有了此更改,我们不需要使用节点解释器作为node <file-path>
这些新功能在许多用例中将非常方便。希望您发现它有用,并急切地等待在即将到来的项目中使用这些功能。