そこで私は新しい TypeScript プロジェクトを開始し、どの JavaScript / ECMA Script バージョンをターゲットにすればよいかを考えていました。 現在、ES5、ES2015、ES2016、ES2017、ES2018 から選択できます!
JavaScript のターゲット バージョンを選択する際に考慮すべき 2 つの主要な事柄は次のとおりです:
- Target Environment – Desktop Browser? モバイル? NodeJS?
- 必要なJS機能 – クラス? モジュール? 非同期関数?
私たちは幸運にもエバーグリーンブラウザの時代にいるので、ほとんどの環境で最新の機能のサポートは非常に優れていますが、ユーザーが古いデバイスを持っていたり、NodeJSの古いバージョンで行き詰っている状況は常に存在します。 これは、幅広いターゲット環境のサポートと素晴らしい新機能へのアクセスとの間で良いバランスをもたらします:)
以下では、各 ECMA Script バージョンでリリースされた主要な新機能として私が見たものをまとめています。 包括的なリストとターゲット環境のサポートの詳細については、Kangax の素晴らしい互換性テーブルをチェックしてください。
ES6 / ES2015
- 標準モジュール –
import
およびexport
- 標準プロミス
- クラス & 継承
- ブロック-
- 標準のブロック- 標準的なモジュール –
import
およびexport
標準のブロック- let およびconst
- テンプレート リテラル
- オブジェクトの変数への分解
- ジェネレータ関数
- マップおよびセット データ構造
- 文字列の国際化(I),
Intl
APIによる数字と日付
ES7 / ES2016
- Array.includes()
- 指数(べき乗)演算子
**
ES8 / ES2017
- 非同期関数
- Object.Array.Utils
ES8 / ES2010
ES9 / ES2018
- Object Rest/Spread
const obj = { ...props };
- Asynchronous Iteration
for await (...) {
- Regular expression enhancements (lookbehind, named groups)
Promise finally()
function