Логотип YeaHub

База вопросов

Собеседования

Тренажёр

База ресурсов

Обучение

Навыки

Войти

Выбери, каким будет IT завтра — вместе c нами!

YeaHub — это полностью открытый проект, призванный объединить и улучшить IT-сферу. Наш исходный код доступен для просмотра на GitHub. Дизайн проекта также открыт для ознакомления в Figma.

© 2026 YeaHub

Документы

Медиа

Назад
Вопрос про JavaScript: temporal, dead, zone

Что произойдёт при обращении к переменной до объявления через let или const?

Вопрос проверяет понимание временной мёртвой зоны и различий между var, let и const.

Короткий ответ

При обращении к переменной, объявленной через let или const, до её объявления произойдёт ошибка ReferenceError. Переменная существует, но недоступна до момента инициализации. Это поведение защищает код от неявных ошибок. Такое ограничение делает код более предсказуемым.

Длинный ответ

Переменные, объявленные через let и const, тоже поднимаются, но работают иначе, чем var. Они попадают во временную мёртвую зону (Temporal Dead Zone).

Что такое Temporal Dead Zone

Temporal Dead Zone — это период от начала области видимости до строки с объявлением переменной, в течение которого:

  • переменная существует

  • доступ к ней запрещён

Пример:

console.log(a); // ReferenceError
let a = 10;

Почему так сделано

  • Исключается неявное использование неинициализированных переменных

  • Повышается безопасность и читаемость кода

  • Ошибки обнаруживаются раньше, а не маскируются undefined

Отличие let и const

  • let — значение можно менять

  • const — повторное присваивание запрещено
    Оба подчиняются правилам TDZ.

Вывод

let и const намеренно запрещают доступ к переменной до объявления. Это одно из ключевых улучшений современного JavaScript по сравнению с var.

Уровень

  • Рейтинг:

    5

  • Сложность:

    5

Навыки

  • JavaScript

    JavaScript

Ключевые слова

#temporal

#dead

#zone

Подпишись на React Developer в телеграм