那麼,在ES6中我們有一個let
聲明的塊範圍的定義。這很好,我們可以在現代瀏覽器中使用它。JavaScript:如何支持讓舊的瀏覽器?
舊的呢?如何支持它?例如IE8,IE9。有沒有什麼標準的技巧來實現這一目標?
那麼,在ES6中我們有一個let
聲明的塊範圍的定義。這很好,我們可以在現代瀏覽器中使用它。JavaScript:如何支持讓舊的瀏覽器?
舊的呢?如何支持它?例如IE8,IE9。有沒有什麼標準的技巧來實現這一目標?
使用類似babel.js
巴貝爾是一個JavaScript編譯器。 今天使用下一代JavaScript。
巴貝爾將「transpile」你ES6到ES5 - 你可能不得不限制自己ES6的一個子集,支持IE < 9,但我可以告訴,let
是OK。
你可以看到最新的兼容性這裏: https://kangax.github.io/compat-table/es6/#let
請注意,由於沒有瀏覽器目前支持它,你可以使用polyfills或編譯器像https://google.github.io/traceur-compiler
大多數情況下,使用var
將被罰款。否則,你將不得不在一些閉包中進行模擬來模擬它。
ES6
中的塊級作用域嚴重地改變了解釋器定義作用域和評估代碼的方式。在舊瀏覽器上無法填充此行爲。
使用ES6
特徵的唯一的解決方案是使用一箇中間語言如Typescript
其是EcmaScript
兼容(可以在它使用ES6
特徵,包括let
和const
)。
然後,您需要在構建應用程序時將Typescript代碼編譯爲Javascript代碼。
使用翻譯。如果你想稱之爲「詭計」。 – Bergi