編集

ES2023

ECMAScript 2023 は、2023 年にリリースされる ECMAScript の仕様です。 なお ECMAScript は、前年に Stage 4 となった機能が次期 ECMAScript に含まれるという仕組みであり、 Stage 4 の条件として 2 つ以上の実装が必要であるため、次期 ECMAScript がほとんどのブラウザで既に実装されているということがよくあります。

以下では、ECMAScript 2023 に追加されたものを紹介します。Symbols as WeakMap keys は紹介しません。

#Array find from last

全てのモダンブラウザで実装済みです。

ts
const array = [1, 2, 3, 4];
array.find((item) => item % 2 === 1); // 1
array.findLast((item) => item % 2 === 1); // 3

array.findIndex((item) => item % 2 === 1); // 0
array.findLastIndex((item) => item % 2 === 1); // 2

#Hashbang Grammar

Node.js などと同様に、ファイルの先頭行にある#!をコメントとして扱います。 これにより、例えばサーバーサイドとクライアントサイドで同じコードを使いまわすことができます。

なお、全てのモダンブラウザで実装済みです。

js
#!/usr/bin/env node
// in the Script Goal
"use strict";
console.log(1);

#Change Array by copy

非破壊的な配列の操作をするメソッド群です。 これらが追加されると、Array.prototype.slice()などを利用したハックをしなくても済みます。 ただし、ほとんどのブラウザで未実装です。

js
const array = [2, 6, 3];
array.toReversed(); // [3, 6, 2]
array.toSorted(); // [2, 3, 6]
array.with(1, 2); // [2, 2, 3]
編集