Babelってなんなのか全くわからなかったので、調べてみました。
Babelとは
オープンソースプロジェクトで開発されているJavaScriptコンパイラです。公式サイト。handshakeという会社がスペシャルスポンサーで(聞いたことない)、他にはairbnbやsalesforceなどもスポンサーに入っている様です。
Babelは実際何をするものかというと、ECMAScript 2015+
のコードを後方互換性のあるJavaScriptコードに変換するために使用されます(JavaScript自体ほとんど使ったことがないので全然よくわからない、、)。
そもそもECMAScriptというのは、
ECMAScript(エクマスクリプト)は、JavaScriptの標準であり、Ecma Internationalのもとで標準化手続きなどが行われている。
wikipediaより引用
なんかどっかの会社が作った特別な仕様の変なやつかと思ったら標準規格でした。多分基本なんでしょうがそれすら知らなかった。要するにBabelは、あるバージョンの(例えば最新の)JavaScriptで書いたコードをそれ以前のバージョンや古いブラウザでも動く汎用的なコードに変換するツール、という理解で良さそうですね。だから開発者側としては、最新の便利な文法・記法をためらいなく使ってプログラムを書くことができるということですね。
サポートされているスクリプト言語
標準JavaScriptだけでなく、拡張された言語もいくつかサポートされているようです。React Preset
を使うと、JSXとReactが使えます。
Flow Preset
とTypeScript Preset
もあって、これらを使えば各言語が使えます。ただし型チェックをしてくれるわけではなく、単に型注釈を取り除くだけのようです。
使い方
他のサイトを見てください。私は使ったことありませんので。笑
公式サイトのUsage Guide
- インストール方法
- cliツールについて
- プラグインとプリセットについて
- babel.config.jsについて
- Polyfillについて??
など
Babelの基本的な使い方(Qiita)
- babel-cliの使い方
- babel-preset-envと.babelrcの設定
など