TC39はECMAScript 2018の機能セットを最終化した
- 共有
- |
後で読む
マイリーディングリスト
あなたのリクエストに応じて、ノイズを減らす機能を開発しました。大切な情報を見逃さないよう、お気に入りのトピックを選択して、メールとウェブで通知をもらいましょう。
あなたのリクエストに応じて、ノイズを減らす機能を開発しました。大切な情報を見逃さないよう、お気に入りのトピックを選択して、メールとウェブで通知をもらいましょう。
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のフロントにあるすべてのアクティブな提案のプロセスを追うことができる。
- TypeScript 2.7が提供開始された 2018年2月5日
- GoogleがPuppeteer 1.0をリリース 2018年2月5日
- 直近のNpmインシデントによりセキュリティ上の脆弱性が発覚 2018年1月31日
- JavaScript 2017の調査結果を分析する 2018年1月29日
- AppleはSpeller攻撃に対してSafariを保護する新しいセキュリティアップデートをリリース 2018年1月29日
- Parcel.jsはJavaScriptモジュールバンドルにゼロコンフィギュレーションオプションを提供する 2018年1月17日
- Visual Studio Code 1.19で、2017年のリリーススケジュールを終えて、チームは2018年の準備をしている 2018年1月17日
- ReactがRFCプロセスを採用 2018年1月10日
- FacebookがReason 3でReasonMLの構文を変更 2017年12月20日
こんにちは
コメントするには InfoQアカウントの登録 または ログイン が必要です。InfoQ に登録するとさまざまなことができます。アカウント登録をしてInfoQをお楽しみください。
あなたの意見をお聞かせください。