> Как выполняется функция с учетом хостинга в JavaScript (JavaScript)
Уровень: senior · Роль: frontend · Категория: Технические вопросы
Компании: ООО Снэп АйТи
Стек: JavaScript
> Пример ответа
Функция с учётом хостинга (hoisting) в JavaScript выполняется в два этапа: сначала движок «поднимает» объявления переменных и функций в начало их области видимости, а затем выполняет код построчно. Для var переменная поднимается с инициализацией undefined, поэтому доступ к ней до объявления не вызовет ошибку, но вернёт undefined. Функции, объявленные через function declaration, поднимаются целиком, включая тело, поэтому их можно вызывать до объявления. let и const также поднимаются, но находятся во «временной мёртвой зоне» (Temporal Dead Zone) до момента фактической инициализации, что приводит к ReferenceError при попытке доступа до объявления. Пример:
JAVASCRIPTconsole.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 initializationlet b = 10;
Таким образом, хостинг влияет на порядок выполнения: объявления обрабатываются до выполнения кода, но инициализация остаётся на своих местах.
> Похожие задачи по frontend
Как соединить фиксированное количество строк через разделитель в JavaScript
Как работает метод getTime у объекта Date в JavaScript
Как сборщик мусора находит неиспользуемые объекты в JavaScript
Что такое слабая ссылка в WeakSet и WeakMap в JavaScript
> ГОТОВЫ К СЛЕДУЮЩЕМУ СОБЕСЕДОВАНИЮ?
Запустите тренировочную сессию с ИИ и получите детальную обратную связь, чтобы увереннее проходить реальные интервью