[Баг]:
Hunter-137 opened this issue · 2 comments
Hunter-137 commented
Описание
В статье про замыкание в задаче про if есть код:
let phrase = "Hello";
if (true) {
let user = "John";
function sayHi() {
alert(`${phrase}, ${user}`);
}
}
sayHi();
Проблема в том, что данный код в консоли браузера и в компиляторе js отображает не ошибку, а фразу "Hello, John".
Как воспроизвести?
Для наглядности:
- Запустите код по кнопке "Выполнить" на сайте учебника — alert выдаст ошибку;
- Запустите код в консоли браузера Chrome — alert выдаст Hello, John
- Запустите код в компиляторе js — alert выдаст Hellom John
Браузер
У меня воспроизводится этот баг в Chrome Версия 122.0.6261.129 (Официальная сборка), (64 бит)
Alexandre887 commented
Здравствуйте.
Все примеры кода в учебнике запускаются в строгом режиме "use strict" (за исключением случаев, когда заранее упомянуто иное), об этом сказано в главе «Строгий режим — "use strict"». В строгом режиме данный код выводит ошибку, в нестрогом — нет.
Hunter-137 commented
Здравствуйте! Понял, спасибо большое за объяснение.