はじめに
よく開発で目にする「Babel」ですが、
「そもそもBabelって何だ?」と思い、調べたことをここにまとめておこうかと思います。
Babel(バベル)とは
Babelとは、JavaScriptのコードを新しい書き方から古い書き方へと変換するツールです。
また、併せて押さえておきたいものとして、ECMAScriptと呼ばれるJavaScript の基本仕様があります。
ECMAScriptとは
元々JavaScriptはNetscape社のブラウザで使用される言語として作られました。
それを他のブラウザがJavaScriptを各々独自に拡張していき、
そのため、JavaScriptは標準化されていない言語だったとのことです。
それに対応するため、Netscape社が国際標準化団体のECMAに依頼してJavaScriptのコア部分を標準化したものがECMAScriptです。
なぜ変換が必要か
ECMAScriptは、例えば「ECMAScript 2015/ECMAScript 2016/ECMAScript 2017/...」というようにバージョンが年々更新されています。
ですが、全ブラウザがECMAScriptの最新バージョンに対応しているとは限りません。
未対応のブラウザの場合、新しいjsのコードの書き方を使うことができないということになってしまいます。
(例えば、ES2015以上の仕様のJavaScriptでの記述は、IE11では動作しない。)
その問題に対応できるのがBabelです。
Babelは、ECMAScript 15以降のモダンなjs構文や機能を利用して書かれたコードを、
古いjsコードに変換するツールです(JavaScriptコンパイラやトランスパイラと呼ばれる)。