Что такое Temporal Dead Zone

Ответ

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 для него не существует.

Как избежать:
Инициализируйте переменные до использования.