ECMAScriptロードマップ:2019年の新しいJavaScript機能

JavaScriptの基礎となる仕様の最新バージョンであるECMAScript2019が完成しました。ECMAインターナショナルは6月に仕様を承認しました。

ECMAScript 2019で導入された新機能には、次のものがあります。

  • Symbol.prototype.descriptionset accessor未定義のアクセサプロパティ。そのget accessor関数は、次のような手順を実行します。をsこの値とし、symとし?thisSymbolValue(s)、を返しsymます。[[Description]]。この機能の目的は、[[Description]]を介して間接的にではなく、シンボルの内部スロットを直接公開することSymbol.prototype.toStringです。
  • への変更Function.prototype.toString。ECMAScriptコードを使用して定義されたすべての関数のソーステキストを保持する必要がない実装などの改訂が提案されています。
  • prototype.flatMap、ネストされた配列構造体を取り、そのパラメーターに応じて1つ以上のレベルのネストを削除する一般的な配列操作。FlatはLodashのような配列のようなライブラリに存在するため、ユーザーはバニラJavaScriptで同じ機能を必要としています。
  • prototype.flatmap、マップの後にフラットが続くと、わずかな利便性とわずかな最適化が提供されます。Flatmapとマッピングは同じ操作で役立つことが多いため、Flatmapは便利です。平坦化時に配列を破棄するためだけにマッピングに配列を割り当てる必要がないため、これも最適化です。
  • prototype.sort()、配列の要素を所定の位置に並べ替えて配列を返すメソッドが安定しました。
  • Object.fromEntries、キーと値のペアのリストをオブジェクトに変換するための新しい静的メソッドを提供します。
  • String.prototype.trimStartおよびString.prototype.trimEnd。これらの改正の根拠は、すべての主要なエンジンが対応する実装されていることですtrimLeftし、trimRigh標準仕様ずに機能をトン。整合性のためにpadStart/padEndtrimStarttrimEndtrimLeft、およびtrimRightウェブ互換性の別名として提案されています。
  • に更新してJSON.stringify、整形式のUTF-16(Unicode Transformation Format)を発行します。現在、サロゲートコードポイントに対して不正な形式のコードユニットが発行される可能性があります。
  • オプションのcatchバインディングcatch。バインディングが使用されない場合に開発者がバインディングを省略できるようにします。

ECMAScript 2019の完全な仕様は、ECMAInternationalのWebサイトでオンラインで表示できます。ダウンロードも可能です。完成したECMAScriptエディションは通常、昨年のECMAScript 2018仕様など、毎年6月に発行されます。