ECMAScript 5 находится в своем окончательном проекте, поскольку я пишу это; Это связано с строгим режимом, который не позволит вам назначить глобальный объект, используя eval и другие ограничения. (статья Джона Резига - хорошее введение.)
Этот волшебный режим сохранения работоспособности запускается путем включения строки "use strict" в верхней части вашего файла (или функции). Однако в более старых средах "use strict" является no-op. Если вы добавите "использовать строгую" и не тестируете его в строгой среде, вы можете оставить бомбу замедленного действия, а не очень строгий код, который сломается, когда он действительно попадет в строгую среду.
В каких средах действительно соблюдается "строгое использование"?