javascript エラー「Uncaught ReferenceError: Cannot access ‘xxx’ before initialization」の解決方法

javascript エラー「Uncaught ReferenceError: Cannot access ‘xxx’ before initialization」の解決方法

javascriptで、エラー「Uncaught ReferenceError: Cannot access ‘xxx’ before initialization」が発生した場合の原因と解決方法を記述してます。

環境

  • OS windows11 pro 64bit
  • Apache 2.4.43
  • ブラウザ chrome 102.0.5005.115

エラー内容

以下のコードを実行時に発生。

let x = x + 1;

エラーメッセージ

Uncaught ReferenceError: Cannot access 'x' before initialization

画像

firefox(バージョン101)では、以下のエラーとなります。

Uncaught ReferenceError: can't access lexical declaration 'x' before initialization

画像

原因

変数「x」を定義する前に利用しているため

解決方法

定義してから利用する

let x;
x = x + 1;