JavaScriptイマージョン プログラミング(ES2022版)
本書をサポートしてください:購入する または 寄付する
(広告です。ブロックしないでください。)

4 新しいJavaScript機能



この章では、ES2016~ES2022の新しい機能を逆時間順にリストアップしています。ES2015(ES6)以降を対象としています。ES2015は機能が多すぎるため、ここではリストアップしていません。

4.1 ECMAScript 2022の新機能

ES2022は、2022年6月に標準になる予定です。以下の提案はステージ4に達しており、この標準の一部になる予定です。

  ES2022にはさらに機能が追加される可能性があります

そのような場合、本書はそれに合わせて更新されます。

4.2 ECMAScript 2021の新機能

ECMAScript 2021では、以下の機能が追加されました。

4.3 ECMAScript 2020の新機能

ECMAScript 2020では、以下の機能が追加されました。

4.4 ECMAScript 2019の新機能

ECMAScript 2019では、以下の機能が追加されました。

これらの新しいES2019機能は、本書の範囲外です。

4.5 ECMAScript 2018の新機能

ECMAScript 2018では、以下の機能が追加されました。

4.6 ECMAScript 2017の新機能

ECMAScript 2017では、以下の機能が追加されました。

  • 非同期関数(async/awaitを使用すると、同期的な構文を使用して非同期コードを記述できます。

  • Object.values()は、指定されたオブジェクトのすべての列挙可能な文字列キー付きプロパティの値を含む配列を返します。

  • Object.entries()は、指定されたオブジェクトのすべての列挙可能な文字列キー付きプロパティのキーと値のペアを含む配列を返します。各ペアは、2要素の配列としてエンコードされています。

  • 文字列パディング:文字列メソッド.padStart().padEnd()は、レシーバが十分な長さになるまでパディングテキストを挿入します。

    > '7'.padStart(3, '0')
    '007'
    > 'yes'.padEnd(6, '!')
    'yes!!!'
  • 関数パラメータリストと呼び出しにおける末尾のカンマ:末尾のカンマは、ES3以降の配列リテラルとES5以降のオブジェクトリテラルで許可されていました。関数呼び出しとメソッド呼び出しでも許可されるようになりました。

  • 以下の2つの機能は、本書の範囲外です。

4.7 ECMAScript 2016の新機能

ECMAScript 2016では、以下の機能が追加されました。

4.8 本章の出典

ECMAScript の機能リストは、TC39 の完了済みの提案に関するページから取得しました。