Какие (javascript) среды поддерживают строгий режим ECMAscript 5? (он же «строгий») - PullRequest
34 голосов
/ 15 сентября 2009

ECMAScript 5 находится в окончательном варианте, когда я пишу это; Это связано со строгим режимом, который запрещает вам присваивать глобальный объект, использовать eval и другие ограничения. ( Статья Джона Ресига - хорошее введение.)

Этот волшебный режим, сохраняющий здравомыслие, запускается включением строки «use strict» в верхней части файла (или функции). Однако в более старых средах «use strict» не допускается. Если вы добавите «используйте строгий» и не тестируете его в строгой среде, вы можете оставить бомбу замедленного действия не очень строгого кода, которая сломается, когда он действительно попадет в строгую среду.

В каких условиях на самом деле соблюдается «строгое использование»?

Ответы [ 4 ]

26 голосов
/ 15 сентября 2009

Обновление

См. Мою таблицу совместимости .

Оригинальный ответ :

На данный момент нет.

Рафаэль Шпейер этим летом работал над реализацией Mozilla для Rhino *1016*, и на самом деле, их реализация близка к завершению.

Я знаю (основываясь на информации из списка обсуждений ES), что Microsoft планирует включить некоторые функции ES5 в будущие версии IE, и они вполне могут сейчас работать над реализацией строгого режима (как вы, вероятно, знаете, IE8). уже включает некоторые функции ES5, такие как Object.defineProperty).

Существует также проект Google Caja , который несколько эмулирует поведение строгого режима в некоторых его вариациях (Valija, Cajita и т. Д.).

Крокфорд также недавно добавил эту опцию в JSLint , но я не уверен, вызывает ли она какие-либо дополнительные проверки (согласно правилам, строгим для ES5).

12 голосов
/ 11 июля 2010

Теперь, когда он действительно выпущен, Firefox 4 стал победителем «первого браузера, поддерживающего строгий режим ES5». Теперь вы можете начать использовать его, пока вы тестируете в Firefox 4.


Safari 5.1+ и Chrome 13+ Также поддерживают строгий режим.


Первый находится в: Besen . Реализовано в Delphi. Я думаю, что это автономно, но я не уверен. Но он поддерживает строгий режим.

Найдена через эта таблица совместимости .


Jurassic утверждает, что поддерживает ES5 Strict Mode.

9 голосов
/ 29 августа 2011

В строгом режиме ECMAscript 5 требуются следующие версии для основных браузеров (или выше):

Chrome 13.0
Safari 5.1
Firefox 4.0
Internet Explorer 10.0
Опера 11,6

Нет, IE9 не имеет строгой поддержки, он новичок в версии 10 или новее.

1 голос
/ 29 декабря 2011

Opera 11.60 уже полностью поддерживает ECMAScript 5.1 и имеет строгую вариацию режима. Смотрите таблицу совместимости @kangax.

...