С включенным "use strict", почему я могу назначить переменную без let при использовании prompt()
Я написал "use strict"; в верхней части моего сценария.
Я не могу написать num = 5;, потому что я получаю ReferenceError: Can't find variable: num.
Чтобы исправить это, я могу написать let num = 5;.
Используя эту логику, почему мне разрешено писать name = prompt("What is your name?");?
Разве я не должен писать let name = prompt("What is your name?")?
1 ответ:
Предполагая, что вы запускаете это в браузере, вы видите такое поведение из-за
window.nameсобственность. Второй пример-это сохранение значения, возвращаемого параметромpromptв этом свойстве.Если бы окно имело встроенное свойство
num, Ваш первый пример также работал бы.Конечно, в реальном коде вы хотели бы создать переменную для хранения значения
prompt, а не для разбиенияwindow.name.