> Что будет при обращении к переменной var до объявления в JavaScript (JavaScript)
Уровень: middle · Роль: frontend · Категория: Технические вопросы
Компании: IT-One, Exness, Сбер
Стек: JavaScript
> Пример ответа
В JavaScript поведение при обращении к переменной var до её объявления зависит от того, где она находится, но в любом случае это не вызовет ошибку ReferenceError в современном смысле, а вернёт undefined. Это связано с механизмом hoisting (поднятие объявлений).
Когда интерпретатор встречает var, он «поднимает» объявление переменной в начало текущей области видимости (функции или глобального контекста), но не присваивает ей значение. Инициализация остаётся на месте исходного кода. Поэтому код:
JAVASCRIPTconsole.log(a); // undefinedvar a = 5;
выведет undefined, а не вызовет ошибку. Переменная a существует, но её значение - undefined до строки с присваиванием.
Важно: это работает только для var. Для let и const такое обращение вызовет ошибку ReferenceError из-за «временной мёртвой зоны» (Temporal Dead Zone), хотя они тоже поднимаются, но не инициализируются.
> Похожие задачи по frontend
Что такое JSON
Что такое метод filter в JavaScript и как он работает
Для чего нужны и как работают методы массивов map, filter и reduce в JavaScript
Что такое map, filter и reduce в JavaScript и в чем их отличие
> ГОТОВЫ К СЛЕДУЮЩЕМУ СОБЕСЕДОВАНИЮ?
Запустите тренировочную сессию с ИИ и получите детальную обратную связь, чтобы увереннее проходить реальные интервью