Безопасно ли использовать "строгий" в IE 8/9?
Согласно этому http://caniuse.com/use-strict 'use strict'
не поддерживается в IE версии 8/9.
Мой вопрос: действительно ли безопасно использовать "строгий режим" в IE 8/9 или браузерах, с которыми он несовместим? Это сломает мой код?
2 ответа
Заявление "use strict";
Это не должно вызывать проблем с IE8/9, поскольку браузеры будут запускать код. (Он был спроектирован таким образом, чтобы не было проблем с браузерами, которые не поддерживают строгий режим)
Внешний источник: http://ejohn.org/blog/ecmascript-5-strict-mode-json-and-more/
Это означает, что вы можете включить строгий режим в своих скриптах - сегодня - и в худшем случае он не будет иметь побочных эффектов в старых браузерах.
ПРИМЕЧАНИЕ: как отметил Джереми в комментариях, есть некоторые выражения, которые технически действительны, но не работают в IE8 (например: var x = {}; x.break = true
не будет работать в IE8, даже если он будет работать в IE9).
Да, все должно быть в порядке.
use
Директивы предназначены для обратной совместимости. Браузеры, которые их не поддерживают, просто увидят String
литерал, который не упоминается дальше. Итак, они пройдут через это и пойдут дальше.
Тем не менее, вы все равно хотите быть уверенным, что вы тестируете свой код как с включенным, так и без него.