> Как выполняется функция с учетом хостинга в JavaScript (JavaScript)

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

Компании: ООО Снэп АйТи

Стек: JavaScript

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

Функция с учётом хостинга (hoisting) в JavaScript выполняется в два этапа: сначала движок «поднимает» объявления переменных и функций в начало их области видимости, а затем выполняет код построчно. Для var переменная поднимается с инициализацией undefined, поэтому доступ к ней до объявления не вызовет ошибку, но вернёт undefined. Функции, объявленные через function declaration, поднимаются целиком, включая тело, поэтому их можно вызывать до объявления. let и const также поднимаются, но находятся во «временной мёртвой зоне» (Temporal Dead Zone) до момента фактической инициализации, что приводит к ReferenceError при попытке доступа до объявления. Пример:

JAVASCRIPT
console.log(a); // undefined (var поднят с undefined)
var a = 5;
foo(); // "Hello" (function declaration поднята целиком)
function foo() {
console.log("Hello");
}
console.log(b); // ReferenceError: Cannot access 'b' before initialization
let b = 10;

Таким образом, хостинг влияет на порядок выполнения: объявления обрабатываются до выполнения кода, но инициализация остаётся на своих местах.

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

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