Какие среды (javascript) поддерживают строгий режим ECMAScript 5?(он же “использовать строго”)
-
07-07-2019 - |
Вопрос
ECMAScript 5 находится в своем окончательном варианте, когда я пишу это;Это связано с включением строгого режима, который не позволит вам присваивать значение глобальному объекту, используя eval и другие ограничения.(Статья Джона Ресига это хорошее введение.)
Этот волшебный режим экономии работоспособности запускается путем включения строки "использовать строгий" в верхней части вашего файла (или функции). Однако в старых средах "использовать строгий" недопустимо.Если вы добавите "использовать строгий" и не будете тестировать его в строгой среде, вы можете оставить бомбу замедленного действия из не совсем строгого кода, который сломается, когда он действительно попадет в строгую среду.
Какие среды на самом деле соблюдают "use strict"?
Решение
Обновить:
Видишь мой таблица совместимости.
Оригинальный ответ:
На данный момент - нет.
Рафаэль Шпейер был этим летом работал над реализацией Mozilla для Rhino, и afaik, их реализация довольно близка к завершению.
Я знаю (основываясь на информации из ES-discussion list), что Microsoft планирует включить некоторые функции ES5 в предстоящие версии IE, и они вполне могут работать над реализацией строгого режима прямо сейчас (как вы, вероятно, знаете, IE8 уже включает некоторые функции ES5, такие как Object.defineProperty
).
Есть также Проект Caja от Google который в некоторой степени имитирует поведение строгого режима в некоторых его вариациях (Valija, Cajita и т.д.).
Крокфорд также недавно добавил эту опцию в JSLint, но я не уверен, действительно ли это запускает какие-либо дополнительные проверки (согласно ES5-строгим правилам).
Другие советы
Теперь, когда он действительно выпущен, Firefox 4 стал победителем " первого браузера, поддерживающего строгий режим ES5. " Теперь вы можете начать его использовать, если будете тестировать в Firefox 4.
<Ч>Safari 5.1+ и Chrome 13+ также поддерживают строгий режим.
<Ч>Первый находится в: Besen . Реализовано в Delphi. Я думаю, что это автономно, но я не уверен. Но он поддерживает строгий режим.
Найдено в этой таблице совместимости .
<Ч>Jurassic утверждает, что поддерживает строгий режим ES5.
В строгом режиме ECMAscript 5 требуются следующие версии для основных браузеров (или выше):
Chrome 13.0
Safari 5.1
Firefox 4.0
Internet Explorer 10.0
Опера 11,6
Нет, IE9 не имеет строгой поддержки, он новичок в версии 10 или новее.
Opera 11.60 уже полностью поддерживает ECMAScript 5.1 и имеет строгую вариацию режима. Смотрите таблицу совместимости @kangax. Р>