Джентльмены подскажите пожалуйста, механизм работы use sctrict и EcmaScript 5
Если я правильно понял, писать по стандарт EcmaScript 5 нужно только в том случае, если ориентироваться на браузеры которые его поддерживают (современные) и при этом нужно объявлять директиву use strict.
Вопрос, как будет происходить выполнения скрипта написанной по стандарту EcmaScript 5 и директивой use strict, когда его загрузят с браузера EI 8 к примеру. Скрипт будет проигнорирован браузером и не будет выполняться?
Предположим, что мы, используя "use strict", разработали код и протестировали его в браузере Chrome. Всё работает… Однако, вероятность ошибок при этом в IE9- выросла! Он-то всегда работает по старому стандарту, а значит, иногда по-другому. Возникающие ошибки придётся отлаживать уже в IE9-, и это намного менее приятно, нежели в Chrome.
Впрочем, проблема не так страшна. Несовместимостей мало. И если их знать (а в учебнике мы будем останавливаться на них) и писать правильный код, то всё будет в порядке и "use strict" станет нашим верным помощником.
ECMAScript 5's strict mode is a way to opt in to a restricted variant of JavaScript. Strict mode isn't just a subset: it intentionally has different semantics from normal code. Browsers not supporting strict mode will run strict mode code with different behavior from browsers that do, so don't rely on strict mode without feature-testing for support for the relevant aspects of strict mode. Strict mode code and non-strict mode code can coexist, so scripts can opt into strict mode incrementally.