2016-05-04 3 views
5

私はconstキーワードが既にIE10版以外のブラウザで全面的に実装されているが、実行可能であることを理解していますか?誰かがIE10の私のサイトにジャンプした場合< "const"キーワードは "var"に再割り当てされますか?そうでない場合、サイト全体が失敗するでしょうか? constキーワードのMDN文書は、IEだけでなく、むしろ多くのモバイルブラウザがそれをサポートしていないことを私に伝える便利なチャートを下に示しています。私はちょうどそれをスクラップしてvarを使うべきですか?私はJavascriptのconstキーワードを使用していますが、IEではどうなりますか?

+0

https://www.microsoft.com/en-gb/developers/articles/5-ways-to-test-your-website-in-old-versions-of-ie/ –

答えて

4

ECMAScript 2015(ES6)からECMAScript 5 transpilerまで、Babelを取得してください。

あなたが書く場合:

const a = 123; 

それは出力:

"use strict"; 

var a = 123; 

をサポートしていないブラウザで、あなたのコードを壊すの可能性が十分でない場合、私はそれがあるべきだと思います。

+0

これの実行可能性は何ですかes5-shimを使って問題を修正しましたか? – lluisrojass

+0

それはうまくいかない、es5-shimは基本的にes3でes5を使うためにたくさんのpolyfillsを足したものだが、コードをトランベイリングしないので、const作業をするために必要なものだ。 varを使用するか、Babelでes6に移動 –

3

IE11以上はconstをサポートしますが、IE10以下はサポートしていません。

constをサポートしていないブラウザで使用しようとすると、構文エラーが発生します。古いブラウザをサポートする必要がある場合は、トランスファーを使用してコードをES5にコンパイルしない限り、constを使用することはできません。 Babelはそのようなトランスヒーラーの良い例です。

0

constを使用してきれいなES6(ES2015)コードを書きたい場合は、BabelのようなJSコンパイラを使用できます。たとえば:あなたは無痛バベルの設定使用このyeoman babel generatorをしたい場合は

const a = 1; 

はそれが

"use strict"; 
var a = 1; 

に再コンパイルします。

+0

es5-shimを使用してこの問題の実行可能性を修正しましたか? – lluisrojass

関連する問題