2016-05-04 5 views
5

Я понимаю, что ключевое слово const уже реализовано по всему браузеру в браузерах, за исключением версий IE10, но является ли оно жизнеспособным? Если кто-то перескакивает на моем сайте в IE10 <, ключевое слово «const» будет переназначено на «var»? если не удастся ли весь сайт? MDN Документы по ключевому слову const дают удобный снимок внизу, который говорит мне, что не только 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

Возьмите Babel, ECMAScript 2015 (ES6) в трансилер ECMAScript 5.

Если вы пишете:

const a = 123; 

Он выводит:

"use strict"; 

var a = 123; 

Если потенциал взлома кода на неподдерживаемых браузеров не достаточно, я думаю, что должно быть.

+0

Какова жизнеспособность этого вопрос исправляется с помощью es5-shim? – lluisrojass

+0

Это не сработает, es5-shim - это, в основном, сумма много полисов, чтобы использовать es5 в es3, но он не преобразует код, и это то, что вам нужно, чтобы заставить работу const. Либо используйте var, либо переходите к es6 с Babel –

3

IE11 и выше поддерживает const, но IE10 и ниже нет.

Если вы попытаетесь использовать const в браузере, который не поддерживает его, вы получите синтаксическую ошибку. Если вы должны поддерживать старые браузеры, вы не можете использовать const, если вы не используете транспилятор для компиляции кода в ES5. Babel - хороший пример такого транспилера.

0

Если вы хотите написать чистый код ES6 (ES2015), используя const, вы можете использовать JS-компилятор, например Babel. Например:

const a = 1; 

это перекомпилировать для

"use strict"; 
var a = 1; 

Если вы хотите использовать конфигурации безболезненный Бабель это yeoman babel generator.

+0

. Какова жизнеспособность этой проблемы при использовании es5-shim? – lluisrojass