とほほのES2023入門

目次

ES2023とは

JavaScript の標準仕様 ES2023 (ECMAScript 14th Edision) として 2023年6月にリリースされました。ES2023 で新たに追加された機能について説明していきます。

ES2023強化項目

Array find from last

配列(Array)のメソッドに findLast()findLastIndex() が追加されました。配列の末尾から検索を開始し、条件にマッチした項目に関して、findLast() はその値を、findLastIndex() はそのインデックス番号を返します。IE を除くモダンブラウザで使用可能です。(→ サポート状況)

var array1 = [2, 13, 5, 18, 3];
array1.find((val, index, arr) => { return val > 10 });           // => 13
array1.findLast((val, index, arr) => { return val > 10 });       // => 18
array1.findIndex((val, index, arr) => { return val > 10 });      // => 1
array1.findLastIndex((val, index, arr) => { return val > 10 });  // => 3

Hashbang Grammar

ファイルの先頭行のみは #! で始まる場合にコメントとしてみなすようになりました。これは、Linux 系システムにおいて先頭行が #! で始まる場合、その行に記述されたプログラムを実行する仕組みに対応するためです。例えば次のような JavaScript ファイルがあるとします。JavaScript プログラムとしては、先頭行はコメントとみなされます。

sample.js
#!/usr/bin/node
console.log("Hello world!\n");

Linux系システムでは、通常、node コマンドに JavaScript ファイルを指定して実行します。

シェル
$ /usr/bin/node sample.js
Hello world!

ファイルに実行権限がついていて、ファイルの先頭行が #! の場合、それに続く文字列(例では /usr/bin/node) をコマンドとみなし、ファイルを引数にしてコマンドを実行します。

シェル
$ chmod 755 sample.js       # ファイルのパーミッションを変更して実行権限をつける
$ ./sample.js               # sample.js をコマンドとして直接実行できるようになる
Hello world!