ECMAScript 2018
JavaScriptのバージョン番号
古いJSバージョンは番号で命名されています:ES5(2009)およびES6(2015)。
2016年から、バージョンは年ごとに名前が付けられます:ECMAScript2016、2017、2018、2019、...
ECMAScript2018の新機能
この章では、ECMAScript2018の新機能を紹介します。
JavaScript非同期反復
ECMAScript2018では、非同期イテレータとイテラブルが追加されました。
非同期イテラブルでは、for/of
ループでawait
キーワードを使用できます。
例
JavaScript非同期反復は、2020年1月以降、最新のすべてのブラウザーでサポートされています。
Chrome63 | Edge79 | Firefox57 | Safari11 | Opera50 |
2017年12月 | 2020年1月 | 2017年11月 | 2017年9月 | 2018年1月 |
JavaScript Promise.finally
ECMAScript2018は、Promise.finally
を使用して Promiseオブジェクトの完全な実装を完成させます。
例
Promise.finally
は、2018年11月以降、最新のすべてのブラウザーでサポートされています。
Chrome63 | Edge18 | Firefox58 | Safari11.1 | Opera50 |
2017年12月 | 2018年11月 | 2018年1月 | 2018年3月 | 2018年1月 |
JavaScriptオブジェクトの残りのプロパティ
ECMAScript2018は残りのプロパティを追加しました。
これにより、オブジェクトを分解し、残り物を新しいオブジェクトに集めることができます。
例
オブジェクトの残りのプロパティは、2020年1月以降、すべての最新ブラウザーでサポートされています。
Chrome60 | Edge79 | Firefox55 | Safari11.1 | Opera47 |
2017年7月 | 2020年1月 | 2017年8月 | 2018年3月 | 2017年8月 |
新しいJavaScriptRegExp機能
ECMAScript2018には、4つの新しいRegExp機能が追加されました。
- Unicodeプロパティのエスケープ(\p{...})
- 後読みアサーション(?<= )および(?<! )
- 名前付きキャプチャグループ
- s(dotAll)フラグ
新しいRegExp機能は、2020年6月以降、最新のすべてのブラウザーでサポートされています。
Chrome64 | Edge79 | Firefox78 | Safari12 | Opera51 |
2018年1月 | 2020年1月 | 2020年6月 | 2018年9月 | 2018年2月 |
JavaScriptスレッド
JavaScriptでは、Web Workers APIを使用してスレッドを作成します。
ワーカースレッドは、メインプログラムが実行を継続できるように、バックグラウンドでコードを実行するために使用されます。
ワーカースレッドはメインプログラムと同時に実行されます。プログラムのさまざまな部分を同時に実行すると、時間を節約できます。
JavaScript共有メモリ
共有メモリは、スレッド(プログラムのさまざまな部分)が同じメモリ内の同じデータにアクセスして更新できるようにする機能です。
スレッド間でデータを渡す代わりに、データが保存されるメモリを指すSharedArrayBufferオブジェクトを渡すことができます。
SharedArrayBuffer
SharedArrayBufferオブジェクトは、ArrayBuffer オブジェクトと同様の固定長の生のバイナリデータバッファーを表します。
プログラミング学習を加速させる
プログラミングをプロの講師に教えてもらいませんか。