Строгий режим
Вопрос
Что меняет строгий режим?
Попробуйте сами
Ответьте вслух за 2 минуты, как на собесе. Потом сверьтесь с тезисами: что прозвучало, а что нет.
Показать ответ и разбор
Коротко
Что должно прозвучать в ответе
присваивание необъявленной переменной бросает ошибку
this в обычном вызове - undefined, а не globalThis
запрещены дубли параметров и восьмеричные литералы
молчаливые отказы записи становятся исключениями
модули и классы всегда строгие
Что могут спросить следом
- Почему в модуле не нужно писать use strict
- Что произойдёт с this в колбэке в строгом режиме
- Как строгий режим помогает найти опечатку в имени переменной
Разбор
'use strict' превращает молчаливые ошибки в исключения: присваивание необъявленной
переменной, запись в неизменяемое свойство, удаление неудаляемого. this в обычном вызове
становится undefined вместо глобального объекта - это и ловит потерю контекста.
Запрещены дубли имён параметров, восьмеричные литералы вида 010, with. Модули ESM
и тела классов строгие всегда, поэтому директиву в современном коде обычно не пишут.
Ответьте сами, а не прочитайте
В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.