あなたのリクエストに応じて、ノイズを減らす機能を開発しました。大切な情報を見逃さないよう、お気に入りのトピックを選択して、メールとウェブで通知をもらいましょう。
TC39は、1月23-25日のミーティングにおいて、ECMAScript言語仕様の最新版であるES2018のセットを最終化した。このアップデートでは非同期イテレータとオブジェクトの非構造化とオブジェクトリテラルのためのrest/spread演算子、正規表現の大幅な更新、promisesとtemplateの追加更新などの新しい機能が追加されている。
新しく最終化された非同期イテレーション(Asynchronous Iteration)機能は、Node.jsのファイル読み込みやブラウザのWebSocketのような非同期フェッチをJavaScriptでネイティブサポートを提供する。既存のジェネレータとループ機能の拡張と並行して、asyncとawaitという新しい2つのキーワードを言語に導入した。Hackernoonの投稿においてMostafa Gaafar氏は新しいシンタックスのバリューを説明した:
Async/awaitは過去数年間にJavaScriptに追加された機能の中でも最も革新的な機能の1つです。これは構文的に混乱するpromisesを理解して、直感的な置き換えを提供します。
非同期イテレーションは、Babelによってトランスパイル可能であり、Node.js 7.6以上と、Chrome、Firefox、Safari Technology Previewからネイティブで利用できる。
新しい仕様では、ES2015からサポートされている配列でサポートされている構文を汎用化した、オブジェクトリテラルに対するspread/rest構文のサポートが追加された。 Google開発者ブログのウォークスルーにおいて、Mathias Bynens氏は「Spreadプロパティは、多くの場面でObject.assign()よりも洗練された方法を提供します」と説明した。この機能はまた、Babelでもトランスパイル可能で、Nodeバージョン8.6でネイティブサポートされており、Chrome, Firefox, Safari Technology Previewでも利用可能である。
新しい仕様の中で、既存の機能に対する最大の更新は、RegExpへのアップデートである。ECMAScript 2018は、正規表現に、他の言語には存在しているが、JavaScriptにはまだなかった、いくつかの機能を追加した。これらの機能には「Dotallモード」、lookbehindアサーション、名前付きキャプチャグループ、Unicodeプロパティエスケープが含まれている。
2018仕様の最後のアップデートでは、テンプレートリテラルの機能を改訂して、以前は不正だった一連の文字を許可した。最終決定された提案について、開発者はTC39の最終提案のリストをチェックするか、TC39のフロントにあるすべてのアクティブな提案のプロセスを追うことができる。
Rate this Article
- Editor Review
- Chief Editor Action