С включенным "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
.