2016-05-04 52 views
5

據我所知,除了IE10版本之外,const關鍵字已經在瀏覽器中實現了,但它是否可行?如果有人在IE10 <上的我的網站上跳轉,「const」關鍵字將被重新分配給「var」?如果不是將整個網站失敗? const關鍵字上的MDN docs在底部給出了一張便利的圖表,它告訴我不僅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。

如果你寫:

const a = 123; 

它輸出:

"use strict"; 

var a = 123; 

如果上破不受支持的瀏覽器代碼的潛力是不夠的,我認爲應該是。

+0

這是什麼可行性問題正在使用es5-shim修復? – lluisrojass

+0

這是行不通的,es5-shim基本上是在es3中使用es5的很多polyfills的總和,但它不會編譯代碼,這就是爲了使const工作而需要的。要麼使用var,要麼移動到es6和Babel –

3

IE11及以上版本支持const但IE10及以下版本不支持。

如果您嘗試在任何不支持它的瀏覽器中使用const,將會出現語法錯誤。如果您必須支持舊瀏覽器,則除非使用轉譯器將代碼編譯爲ES5,否則不能使用constBabel就是這樣一個轉譯器的一個很好的例子。

0

如果要使用const編寫乾淨的ES6(ES2015)代碼,您可以使用JS編譯器,如Babel。例如:

const a = 1; 

如果你想無痛通天配置使用此yeoman babel generator它重新編譯以

"use strict"; 
var a = 1; 

+0

這個問題的可行性是通過使用es5-shim修復的? – lluisrojass

相關問題