Sobes.tech
Junior — Middle

Co oznacza termin TDZ i jak wpływa na wykonywanie kodu w JavaScript?

sobes.tech AI

Odpowiedź od AI

TDZ (Strefa Martwego Czasu) to okres czasu między deklaracją zmiennej za pomocą let lub const a jej faktycznym przypisaniem wartości, w trakcie którego dostęp do zmiennej powoduje błąd.

W przeciwieństwie do var, zmienne let i const nie są podnoszone (hoisting) z inicjalizacją, a pozostają w TDZ do momentu deklaracji. Jeśli spróbujesz odwołać się do zmiennej w TDZ, zostanie wyrzucony błąd ReferenceError.

Przykład:

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

TDZ pomaga unikać błędów związanych z używaniem zmiennych przed ich deklaracją, czyniąc kod bardziej przewidywalnym i bezpiecznym.