Cannot access before initialization
Hibaüzenet
ReferenceError: Cannot access 'x' before initialization
Hibás kód
console.log(x);
let x = 5;
Javított kód
let x = 5;
console.log(x);
Magyarázat
Cannot access ‘x’ before initialization hiba akkor fordul elő, amikor a modern JavaScript Temporal Dead Zone (TDZ) szabályai szerint próbálsz elérni egy blokkszintű változót (`let`/`const`) a deklarálása előtt. A hoisting csak a deklarációt, nem pedig az inicializálást emeli a blokk tetejére, így az előtti hivatkozás hibát okoz. A megoldás, hogy a változó használata megelőzze a deklarációt, vagy `var`-t használj, ha valóban hoisting szükséges, de a legjobb gyakorlat a blokkszintű deklaráció és használat sorrendjének betartása.
További információ: MDN – Temporal Dead Zone
