ES2023中的新功能
#javascript #网络开发人员 #news

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中,ObjectsSymbols保证是独一无二的,不能重新创建,这使它们都是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在ArrayTypedArray原型上添加了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>

明确调用文件

这些新功能在许多用例中将非常方便。希望您发现它有用,并急切地等待在即将到来的项目中使用这些功能。