Что означает термин TDZ и как он влияет на выполнение кода в JavaScript?

TDZ (Temporal Dead Zone) — это период времени между объявлением переменной с помощью let или const и её фактическим присвоением значения, в течение которого доступ к переменной приводит к ошибке.

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

Что ответить на собеседовании

TDZ (Temporal Dead Zone) — это период времени между объявлением переменной с помощью let или const и её фактическим присвоением значения, в течение которого доступ к переменной приводит к ошибке.

Подробный разбор

Ответ с пояснениями

TDZ (Temporal Dead Zone) — это период времени между объявлением переменной с помощью let или const и её фактическим присвоением значения, в течение которого доступ к переменной приводит к ошибке.

В отличие от var, переменные let и const не поднимаются (hoisting) с инициализацией, а находятся в TDZ до момента объявления. Если попытаться обратиться к переменной в TDZ, будет выброшена ошибка ReferenceError.

Пример:

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

TDZ помогает избежать ошибок, связанных с использованием переменных до их объявления, делая код более предсказуемым и безопасным.

ИИ-помощник для собеседований

Хочешь уверенно проходить собеседования?

Попробуй ИИ-помощник для собеседований: слышит вас и собеседника, анализирует экран, подсказывает ответы в реальном времени, работает без VPN и не попадает в захват экрана.

Подробнее