Babel (トランスコンパイラ)
Babelは、フリーかつオープンソースのJavaScriptトランスコンパイラであり、主にECMAScript 2015+(ES6+)コードを古いJavaScriptエンジンで実行できる下位互換バージョンのJavaScriptに変換するために使用される。Babelは、JavaScriptプログラミング言語の最新機能を使用するための一般的なツールである。
開発者は、Babelを使用して新しいJavaScript言語機能を使用し、発展途上のブラウザが処理できるバージョンのJavaScriptにソースコードを変換できる。Babelのコアバージョンは、2016年の時点で1ヶ月に500万回ダウンロードされ、2019年の時点のダウンロード数は週あたり1600万回にまで増加している。
Babelプラグインは、広くサポートされていない構文を下位互換性のあるバージョンに変換するために使用される。たとえば、ES6で指定されているアロー関数は、通常の関数宣言に変換される。JSXなどの非標準のJavaScript構文を変換することもできる。
Babelはpolyfill(英語版)を提供することにより、JavaScript環境では完全に欠けている機能をサポートする。たとえば、Array.fromような静的メソッドやPromiseような組み込みメソッドはES6+でのみ使用できるが、Babel polyfillが使用されている場合、古い環境で使用できる。