ECMAScript 2019
JavaScriptのバージョン番号
古いJSバージョンは番号で命名されています。ES5(2009)およびES6(2015)。
2016年から、バージョンは年ごとに名前が付けられます:ECMAScript2016、2017、2018、2019、...
ES2019の新機能
- String.trimStart()
- String.trimEnd()
- Object.fromEntries
- オプションのキャッチバインディング
- Array.フラット()
- Array.flatMap()
- Array.Sort()の改訂
- JSON.stringify()の改訂
- 文字列リテラルで使用できる区切り記号
- Function.toString()の改訂
警告
これらの機能は比較的新しいものです。
古いブラウザでは、代替コード(Polyfill)が必要になる場合があります
JavaScript文字列trimStart()
ES2019では、JavaScriptにStringメソッドtrimStart()
が追加されました。
‘trimStart()‘ メソッドは、‘trim()‘ と同様に機能しますが、文字列の先頭からのみ空白を削除します。
JavaScript文字列trimStart()
は2020年1月以降、すべてのブラウザーでサポートされています。
Chrome66 | Edge79 | Firefox61 | Safari12 | Opera50 |
2018年4月 | 2020年1月 | 2018年6月 | 2018年9月 | 2018年5月 |
JavaScript文字列trimEnd()
ES2019では、JavaScriptにStringメソッドtrimEnd()
が追加されました。
trimEnd()
メソッドは、trim()
と同様に機能しますが、文字列の末尾からのみ空白を削除します。
JavaScript文字列trimEnd()
は2020年1月以降、すべてのブラウザーでサポートされています。
Chrome66 | Edge79 | Firefox61 | Safari12 | Opera50 |
2018年4月 | 2020年1月 | 2018年6月 | 2018年9月 | 2018年5月 |
JavaScriptオブジェクトfromEntries()
ES2019では、オブジェクトメソッドfromEntries()
が JavaScriptに追加されました。
このfromEntries()
メソッドは、反復可能なキーと値のペアからオブジェクトを作成します。
例
JavaScriptオブジェクトfromEntries()
は2020年1月以降、すべてのブラウザーでサポートされています。
Chrome73 | Edge79 | Firefox 63 | Safari12.1 | Opera60 |
2019年3月 | 2020年1月 | 2018年10月 | 2019年3月 | 2019年4月 |
オプションのcatchバインディング
ES2019から、不要な場合はcatchパラメーターを省略できます。
例
2019年以前
2019年以降
オプションのcatchバインディングは、2020年1月以降、すべてのブラウザーでサポートされています。
Chrome66 | Edge79 | Firefox58 | Safari11.1 | Opera53 |
2018年4月 | 2020年1月 | 2018年1月 | 2018年3月 | 2018年5月 |
JavaScript配列flat()
ES2019では、JavaScriptにArray flat()
メソッドが追加されました。
このflat()
メソッドは、ネストされた配列をフラット化することで新しい配列を作成します。
JavaScript配列flat()
は2020年1月以降、すべてのブラウザーでサポートされています。
Chrome69 | Edge79 | Firefox62 | Safari12 | Opera56 |
2018年9月 | 2020年1月 | 2018年9月 | 2018年9月 | 2018年9月 |
JavaScript配列flatMap()
ES2019では、JavaScript にArrayflatMap()
メソッドが追加されました。
このflatMap()
メソッドは、まず配列のすべての要素をマップし、次に配列をフラット化して新しい配列を作成します。
Stable Array sort()
ES2019ではArray sort()
メソッドが改訂されました。
2019年より前の仕様では、QuickSortなどの不安定な並べ替えアルゴリズムが許可されていました。
ES2019以降、ブラウザーは安定した並べ替えアルゴリズムを使用する必要があります。
要素を値で並べ替える場合、要素は同じ値を持つ他の要素との相対位置を維持する必要があります。
例
上記の例では、価格に基づいて並べ替える場合、次のように、名前が他の相対位置にある結果が得られることは許可されません。
プログラミング学習を加速させる
プログラミングをプロの講師に教えてもらいませんか。