Какие (javascript) среды поддерживают строгий режим ECMAscript 5? (он же "строгий")
ECMAScript 5 находится в окончательном варианте, когда я пишу это; Это связано с включением строгого режима, который не позволит вам присваивать глобальный объект, использовать eval и другие ограничения. ( Статья Джона Резига - хорошее введение.)
Этот волшебный режим, сохраняющий здравомыслие, запускается включением строки "use strict" в верхней части файла (или функции). Однако в более старых средах "use strict" не допускается. Если вы добавите "используйте строгий" и не будете тестировать его в строгой среде, вы можете оставить бомбу замедленного действия, которая не очень строгая, и которая будет взламываться, когда она действительно попадет в строгую среду.
Какие среды на самом деле уважают "строгое использование"?
4 ответа
Обновление:
Смотрите мою таблицу совместимости.
Оригинальный ответ:
Ни одного на данный момент.
Этим летом Рафаэль Шпейер работал над реализацией Mozilla для Rhino, и, на самом деле, их реализация близка к завершению.
Я знаю (основываясь на информации из списка обсуждений ES), что Microsoft планирует включить некоторые функции ES5 в будущие версии IE, и они вполне могут сейчас работать над реализацией строгого режима (как вы, наверное, знаете, IE8 уже включает некоторые функций ES5, таких как Object.defineProperty
).
Есть также проект Google Caja, который несколько эмулирует поведение строгого режима в некоторых его вариациях (Valija, Cajita и т. Д.).
Крокфорд также недавно добавил эту опцию в JSLint, но я не уверен, вызывает ли она какие-либо дополнительные проверки (согласно строгим правилам ES5).
Теперь, когда он действительно выпущен, Firefox 4 стал победителем "первого браузера, поддерживающего строгий режим ES5". Теперь вы можете начать использовать его, пока вы тестируете в Firefox 4.
Safari 5.1+ и Chrome 13+ также поддерживают строгий режим.
Первый находится в: Besen. Реализовано в Delphi. Я думаю, что это автономно, но я не уверен. Но он поддерживает строгий режим.
Найдено через эту таблицу совместимости.
Jurassic утверждает, что поддерживает ES5 Strict Mode.
В строгом режиме 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.