> Что такое всплытие (hoisting) в JavaScript? (JavaScript)

Уровень: junior · Роль: frontend · Категория: Технические вопросы

Компании: Kvando Technologies, IT-One, ООО Рокет Тех, DigitalSail, 1221 Systems

Стек: JavaScript

> Пример ответа

Всплытие (hoisting) - это механизм в JavaScript, при котором объявления переменных (с помощью var) и функций перемещаются в верхнюю часть своей области видимости перед выполнением кода. Это означает, что к переменной или функции можно обратиться до её фактического объявления в коде.

Например:

JAVASCRIPT
console.log(a); // undefined, а не ошибка
var a = 5;

Здесь объявление var a "всплывает" вверх, но инициализация (= 5) остаётся на месте, поэтому a существует, но имеет значение undefined.

Для функций hoisting работает иначе:

JAVASCRIPT
sayHello(); // "Hello!"
function sayHello() {
console.log("Hello!");
}

Функция полностью всплывает, включая тело, поэтому вызов до объявления работает.

Важно: let и const не всплывают в традиционном смысле - они находятся во "временной мёртвой зоне" (Temporal Dead Zone) до инициализации, и обращение к ним до объявления вызовет ReferenceError.

> ГОТОВЫ К СЛЕДУЮЩЕМУ СОБЕСЕДОВАНИЮ?

Запустите тренировочную сессию с ИИ и получите детальную обратную связь, чтобы увереннее проходить реальные интервью