> Что происходит при обращении к переменной var и let до объявления в JavaScript (JavaScript)

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

Компании: РСХБ, Kaspersky

Стек: JavaScript

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

При обращении к переменной, объявленной через var, до её объявления в коде, JavaScript вернёт undefined. Это связано с тем, что переменные, объявленные через `var", "всплывают" (hoisting) в начало своей области видимости, но без инициализации - присвоение значения происходит только в строке объявления. Например:

JAVASCRIPT
console.log(a); // undefined
var a = 5;

В случае с letconst) также происходит всплытие, но переменная попадает во "временную мёртвую зону" (Temporal Dead Zone, TDZ) - от начала блока до строки объявления. Доступ к ней до объявления вызовет ошибку ReferenceError:

JAVASCRIPT
console.log(b); // ReferenceError: Cannot access 'b' before initialization
let b = 10;

Ключевое различие: var инициализируется значением undefined при всплытии, а let остаётся неинициализированным до выполнения строки объявления.

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

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