2016-09-08 4 views
9

私はここでバベルの重要性を理解するのに苦労しています...だからES6が来て、太い矢印の機能、短い構文などを与えます。なぜES6を伝統的なJSにコンパイルする必要がありますか?新しいJS構文を解釈できない古いブラウザがあるからですか?あるいは、ソースコードの整合性を保つことと何か関係がありますか?私が知っているノブの質問のビット - しかしねえ、私はノブです! 洞察力は高く評価されました!Babel JSが必要なのはなぜですか?

+3

はい、すべてがES6をサポートしているわけではないためです。また、ReactやJSXを使用している場合は、それを簡潔にするためにバベルが存在する必要があります。 – Li357

+0

私はいつかES6が公式になると思うが、今日はそれ以外の方法では動作しないウェブサイトがたくさんあるので、今日は新しい標準に変更するのは本当に難しい。ブラウザを開発している人は、コードが更新されていなくてもすべてのWebサイトにアクセスできるように、es6とes5を読み込むようなものを作成する必要があります。私たちはそれがどうなるかを見るでしょう:) そして、私は実際には推測しています。 –

+0

@DawidZbińskiES6はすでに公式です。古いスクリプトについては何も複雑ではなく、新しい標準は下位互換性があり、すべてのES5も有効なES6です。 – Bergi

答えて

0

あなたは正しいです。 es6をサポートしていない/サポートしていないブラウザがたくさんあるので、今後も伝統的なjsを解釈する必要があります。 特に、お客様のウェブサイトがIE6ブラウザで動作しないと不満を表明している場合

7

ここでの回答はすべて正しいものですが、BabelはES6(ES2015)だけではありません。 ECMA標準化委員会は、毎年JavaScript言語の更新をリリースすることに合意しました。 Babelは常に標準を統合しますが、すべてのブラウザが対応するかどうかはわかりませんが、そうであれば、変化する標準に追いつくことができるかどうかはわかりません。

Babelのようなトランスファーを使用すると、ブラウザメーカーが機能を統合したり、ポリフィルなどを使用したりするのを待つのではなく、Webブラウザより先に進んでECMAscriptの新機能を使用できます。エンドユーザーは、使用する機能をカスタマイズして、独自の言語バージョンを構築することもできます。

Babelの作成者がこれについて話すのを聞くには、this JavaScript Jabber episodeを聞くことができます。

+0

おかげさまでライアン。先日私はその車の中のそのエピソードの一部を聞いた...若いオーストラリア人のように:) – ngboverflow

+0

恐ろしい!私は昨年、バベルがそれを使うことを学んだ。私にとって、JavaScriptは新しい機能を備えたまったく新しい言語です。私たちは非同期を待っています、例えば、私の意見では、長い間コールバックを書いてきた人のための絶対的なゲームチェンジャーです。それはコードをより理解しやすくしてくれます。理解できるコードは保守可能なコードと同じです。 Babelは完全に素晴らしいです。私はそれをあなたのツールチェーンの一部にすることを完全にお勧めします。 –

+0

これらのすべての実験プラグインとステージ0プリセットでは、ほとんどの人はリリース前でも最新の機能を使用しています。 (たとえば、ES6またはES7の一部ではないasync/awaitなど)。 – Bergi

0

私の経験ではバベルを使用する正当な理由はありません。 Typescriptはあらゆる点で優れています。

0

今日のほとんどのブラウザでは、今日ほとんどほぼ完全にサポートされています。 96%から99%のサポート。

https://kangax.github.io/compat-table/es6/

不足している主なものは、ES6モジュールです。現在、SafariのみがES6モジュールをサポートしています。 ES6モジュールのサポートがGoogle Chrome 60に届くはずです。

実行するには、BrowserifyやWebpackのようなバンドラを使用してES6コードモジュールを1つのJavaScriptファイルに結合する必要があります。バンドルのためにWebpack 3.0を使用することに恵まれました。

Babelは新しい言語機能を古いものに変換する責任があります。

多くのブラウザで実行できるコードは、バンドルラーだけで、Babelは使用しないで書くことができます。あなたはコードをBabelと一緒に翻訳することにより、より複雑になりますので、必要な場合にのみこれを行うべきです。

関連する問題