> Что происходит при обращении к переменной var и let до объявления в JavaScript (JavaScript)
Уровень: middle · Роль: frontend · Категория: Технические вопросы
Компании: РСХБ, Kaspersky
Стек: JavaScript
> Пример ответа
При обращении к переменной, объявленной через var, до её объявления в коде, JavaScript вернёт undefined. Это связано с тем, что переменные, объявленные через `var", "всплывают" (hoisting) в начало своей области видимости, но без инициализации - присвоение значения происходит только в строке объявления. Например:
JAVASCRIPTconsole.log(a); // undefinedvar a = 5;
В случае с let (и const) также происходит всплытие, но переменная попадает во "временную мёртвую зону" (Temporal Dead Zone, TDZ) - от начала блока до строки объявления. Доступ к ней до объявления вызовет ошибку ReferenceError:
JAVASCRIPTconsole.log(b); // ReferenceError: Cannot access 'b' before initializationlet b = 10;
Ключевое различие: var инициализируется значением undefined при всплытии, а let остаётся неинициализированным до выполнения строки объявления.
> Похожие задачи по frontend
Является ли JavaScript однопоточным или многопоточным языком
Как организовать общение между двумя вкладками одного приложения в браузере?
Как работает this внутри функции-конструктора и при обычном вызове функции в JavaScript
Для чего нужен Webpack
> ГОТОВЫ К СЛЕДУЮЩЕМУ СОБЕСЕДОВАНИЮ?
Запустите тренировочную сессию с ИИ и получите детальную обратную связь, чтобы увереннее проходить реальные интервью