JavaScript: let и var
обращение к переменным до их объявления в JavaScript
Что получится, если попробвать вывести в консоль значения переменных до их объявления. Рассмотрим такие примеры для переменных, созданных с помощью директив let и var.
function showMe() {
console.log(name);
console.log(age);
var name = "Ivan";
let age = 25;
}
showMe();
Результат:
undefined
ReferenceError
Переменная name объявлена директивой var. Это означает, что для неё нет временной мертвой зоны (DMZ, той части кода, которая находится до объявления перменной). Поэтому при обращении к name будет выведено её значение по умолчанию undefined, которое будет существовать до тех пора пока исполнение кода не дойдет до строчки, где определяется переменная.
Переменная age объявлена директивой let. Это означает, что у нее есть временная мертвая зона. Доступ к такой переменной до её инициализации завершится ошибкой. JavaScript выбросит исключение ReferenceError.
Спасибо за внимание.
