Closed6
ES2023に入りそうな機能
主に Stage 4 になったプロポーザル
findILast
/ findLastIndex
Array.prototype.find
と Array.prototype.findIndex
の、後ろから走査する版。
const array = [{ value: 1 }, { value: 2 }, { value: 3 }, { value: 4 }];
array.find(n => n.value % 2 === 1); // { value: 1 }
array.findIndex(n => n.value % 2 === 1); // 0
array.findLastIndex(n => n.value % 2 === 1); // 2
array.findLastIndex(n => n.value === 42); // -1
Hashbang Grammar
今まで Node.js とか Deno とかでなんとなく使われてきた Hashbang の記法を標準に。
#!/usr/bin/env node
// in the Script Goal
'use strict';
console.log(1);
Change array by copy
今までの ECMAScript の Array.prototype
に実装されているメソッドの多くは、レシーバの配列を破壊するものでした。このプロポーザルは、破壊せずにコピーして返すメソッドを導入します。
const sequence = [1, 2, 3];
sequence.toReversed(); // => [3, 2, 1]
sequence; // => [1, 2, 3]
const outOfOrder = new Uint8Array([3, 1, 2]);
outOfOrder.toSorted(); // => Uint8Array [1, 2, 3]
outOfOrder; // => Uint8Array [3, 1, 2]
const correctionNeeded = [1, 1, 3];
correctionNeeded.with(1, 2); // => [1, 2, 3]
correctionNeeded; // => [1, 1, 3]
Symbols as WeakMap keys
Symbol を WeakMap のキーとして使えるようになります。
const weak = new WeakMap();
const key = Symbol('my ref');
const someObject = { /* data data data */ };
weak.set(key, someObject);
ES2023 はもう締め切りです
このスクラップは2023/05/17にクローズされました