2016-05-04 12 views
5

Ich verstehe, dass das const-Schlüsselwort in Browsern mit Ausnahme von IE10-Versionen bereits in allen Bereichen implementiert wurde, aber ist es praktikabel? Wenn jemand auf meiner Seite auf IE10 < springt, wird das Schlüsselwort "const" wieder "var" zugewiesen? wenn nicht, wird die ganze Seite scheitern? die MDN docs auf dem const-Schlüsselwort geben ein handliches Diagramm an der Unterseite an, das mir sagt, dass nicht nur IE, aber ziemlich viele bewegliche Browser es auch nicht stützen. sollte ich es einfach verschrotten und var verwenden?Also benutze ich Javascript const Schlüsselwort, was passiert in IE?

+0

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

Antwort

4

Nehmen Sie Babel, die ECMAScript 2015 (ES6) zu ECMAScript 5 transpiler.

Wenn Sie schreiben:

const a = 123; 

Es gibt:

"use strict"; 

var a = 123; 

Wenn das Potential des Code auf nicht unterstützten Browser bricht nicht genug ist, denke ich, dass sein sollte.

+0

was ist die Lebensfähigkeit von diesem Problem behoben mit einem es5-shim? – lluisrojass

+0

Das wird nicht funktionieren, es5-shim ist im Grunde eine Summe von vielen Polyfills, um es5 in es3 zu verwenden, aber es transpiliert Code nicht, und das ist es, was Sie brauchen, um const arbeiten zu lassen. Verwenden Sie entweder var, oder gehen Sie zu es6 mit Babel. –

3

IE11 und höher unterstützt const aber IE10 und darunter nicht.

Wenn Sie versuchen, const in einem Browser zu verwenden, der es nicht unterstützt, erhalten Sie einen Syntaxfehler. Wenn Sie ältere Browser unterstützen müssen, können Sie const nicht verwenden, es sei denn, Sie verwenden einen Transpiler, um Ihren Code in ES5 zu kompilieren. Babel ist ein gutes Beispiel für einen solchen Transpiler.

0

Wenn Sie sauberen ES6 (ES2015) -Code mit const schreiben möchten, können Sie JS-Compiler wie Babel verwenden. Zum Beispiel:

const a = 1; 

es neu kompilieren zu

"use strict"; 
var a = 1; 

Wenn Sie diese yeoman babel generator schmerzlos babel Konfiguration verwenden möchten.

+0

Wie wird die Behebung dieses Problems mit einem es5-shim behoben? – lluisrojass

Verwandte Themen