Що таке тимчасова зона мертвих (TDZ) у JavaScript
Що таке Temporal Dead Zone (TDZ)?
TDZ (Temporal Dead Zone) — це період часу між початком області видимості змінної (наприклад, блок if, for, функція тощо) та її фактичною ініціалізацією, під час якого змінна не може бути доступною.
Ця зона виникає при використанні let або const.
Простий приклад
javascript
console.log(x); // ❌ ReferenceError: Cannot access 'x' before initialization
let x = 10;Хоча змінна x оголошена, ви отримуєте помилку, оскільки ви звернулися до неї до ініціалізації — ви в тимчасовій мертвій зоні.
TDZ застосовується до:
letconst- Параметрів функцій з деструктуризацією
- Класів, оголошених через
class
Висновок
| Тип змінної | Піднята | Ініціалізована | TDZ існує |
|---|---|---|---|
var | Так | undefined | Ні |
let | Так | Ні | Так |
const | Так | Ні | Так |
Важливо:
TDZ є причиною того, чому let і const є безпечнішими за var: ви не можете використовувати змінні до їх оголошення, і це запобігає помилкам.
Коротка відповідь
Для співбесідиPremium
Коротка відповідь допоможе вам впевнено відповідати на цю тему під час співбесіди.