Babeljs-transpile-es7-features-to-es5
BabelJS-ES7へのTranspile ES7機能
この章では、ES7の機能をES5に変換する方法を学びます。
ECMA Script 7には、次の新機能が追加されています-
- 非同期待ち
- べき乗演算子
- Array.prototype.includes()
babeljsを使用してES5にコンパイルします。 プロジェクトの要件に応じて、ecmaバージョン(ES7からES6またはES7からES5)でコードをコンパイルすることもできます。 ES5バージョンは最も安定しており、すべての最新および古いブラウザーで正常に動作するため、コードをES5にコンパイルします。
非同期待ち
非同期は、暗黙のプロミスを返す非同期関数です。 約束は解決されるか拒否されます。 非同期機能は、通常の標準機能と同じです。 この関数には、promiseを返すまで実行を一時停止するawait式を含めることができ、一度取得すると、実行が続行されます。 Awaitは、関数が非同期の場合にのみ機能します。
asyncとawaitの動作例を次に示します。
例
出力
await式は、タイマー関数が呼び出される前に追加されます。 タイマー関数は、5秒後にプロミスを返します。 awaitは、タイマー機能の約束が解決または拒否されるまで実行を停止し、後で続行します。
babelを使用して上記のコードをES5に変換します。
ES7-非同期待ち
コマンド
BabelJS-ES5
Babeljsはオブジェクトまたはメソッドをコンパイルしません。そのため、ここで使用されるプロミスは変換されず、そのまま表示されます。 古いブラウザでpromiseをサポートするには、promiseをサポートするコードを追加する必要があります。 今のところ、次のようにbabel-polyfillをインストールしましょう-
dev-dependencyではなく、依存関係として保存する必要があります。
ブラウザでコードを実行するには、node_modules \ babel-polyfill \ dist \ polyfill.min.jsのポリフィルファイルを使用し、以下に示すようにスクリプトタグを使用して呼び出します-
上記のテストページを実行すると、コンソールに次のような出力が表示されます。
べき乗演算子
例
出力
ES6-べき乗
べき乗演算子を変換するには、次のようにインストールするプラグインをインストールする必要があります-
コマンド
次のようにプラグインの詳細を .babelrc ファイルに追加します-
コマンド
BabelJS-ES5
Array.prototype.includes()
この機能は、渡された要素が配列に存在する場合はtrueを、存在しない場合はfalseを返します。
例
出力
ES6-array.includes
コマンド
バベル-ES5
古いブラウザでテストするには、以下に示すようにポリフィルを使用する必要があります-