Почему use strict по-прежнему является строковым литералом?

Почему нам все еще нужно использовать строковый литерал в кавычках для включения strict в JS? Конечно, здесь можно было бы использовать что-то более строго «типизированное», например, вызов встроенной функции, скажем, Object.UseStrict() или что-то в этом роде. В чем причина использования строкового литерала?


person ProfK    schedule 12.12.2014    source источник
comment
Он лаконичен и не вызовет ошибок в браузерах, которые его не поддерживают.   -  person Waxen    schedule 12.12.2014
comment
Я не думал, что это дубликат «Что делает use strict», потому что я знаю, что он делает. Я спрашивал конкретно о его «синтаксисе».   -  person ProfK    schedule 12.12.2014
comment
Мне было интересно то же самое, и я согласен, что это не дубликат. В связанной статье не объясняется, почему именно так он включен.   -  person Sam Rueby    schedule 05.04.2018


Ответы (1)


Совместимость со всеми браузерами и механизмами выполнения JS.

Например, http://ejohn.org/blog/ecmascript-5-strict-mode-json-and-more/

Не вводится новый синтаксис для включения строгого режима. Это огромно. Это означает, что вы можете включить строгий режим в своих скриптах - уже сегодня - и в худшем случае он не будет иметь побочных эффектов в старых браузерах.

person Dave Newton    schedule 12.12.2014