Ответ
Temporal Dead Zone (TDZ) — это период времени между созданием переменной (область видимости) и её инициализацией, когда к ней нельзя обратиться.
Применяется к let
и const
, но не к var
.
Пример:
console.log(x); // ReferenceError: Cannot access 'x' before initialization
let x = 10;
Особенности:
- Переменные
let/const
существуют с момента входа в блок, но недоступны до присваивания. var
поднимается (hoisting) со значениемundefined
, поэтому TDZ для него не существует.
Как избежать:
Инициализируйте переменные до использования.