> Что такое всплытие (hoisting) в JavaScript? (JavaScript)
Уровень: junior · Роль: frontend · Категория: Технические вопросы
Компании: Kvando Technologies, IT-One, ООО Рокет Тех, DigitalSail, 1221 Systems
Стек: JavaScript
> Пример ответа
Всплытие (hoisting) - это механизм в JavaScript, при котором объявления переменных (с помощью var) и функций перемещаются в верхнюю часть своей области видимости перед выполнением кода. Это означает, что к переменной или функции можно обратиться до её фактического объявления в коде.
Например:
JAVASCRIPTconsole.log(a); // undefined, а не ошибкаvar a = 5;
Здесь объявление var a "всплывает" вверх, но инициализация (= 5) остаётся на месте, поэтому a существует, но имеет значение undefined.
Для функций hoisting работает иначе:
JAVASCRIPTsayHello(); // "Hello!"function sayHello() {console.log("Hello!");}
Функция полностью всплывает, включая тело, поэтому вызов до объявления работает.
Важно: let и const не всплывают в традиционном смысле - они находятся во "временной мёртвой зоне" (Temporal Dead Zone) до инициализации, и обращение к ним до объявления вызовет ReferenceError.
> Похожие задачи по frontend
В чем разница между var, const и let в JavaScript
Что такое промисы в JavaScript и как они работают
Сколько типов данных в JavaScript и какие они
Что такое this в JavaScript и как он работает в объектах и функциях?
> ГОТОВЫ К СЛЕДУЮЩЕМУ СОБЕСЕДОВАНИЮ?
Запустите тренировочную сессию с ИИ и получите детальную обратную связь, чтобы увереннее проходить реальные интервью