コンテンツへスキップ
JavaScriptエラーエラー
ReferenceError: Cannot access before initialization

ReferenceError: 初期化前にアクセスできない

一時的デッドゾーン内で、let または const で宣言された変数が宣言前にアクセスされた。

browsernode

このエラーの原因

let と const で宣言された変数はホイストされるが、宣言に到達するまで初期化されない。宣言行より前(一時的デッドゾーン)にアクセスするとこのエラーがスローされる。

修正方法

変数の宣言を最初にアクセスされる行より前に移動する。変数が使用される前に宣言されるようコードを整理する。ホイストの動作が必要な場合は var を使用する(ただし let/const が推奨される)。

例

console.log(x); let x = 5; // ReferenceError: Cannot access 'x' before initialization
公式ドキュメント

関連するエラーコード