const宣言で初期値を書き忘れた原因と直し方
constで変数を宣言する際に初期値を書き忘れたときに出るエラーです。letやvarと違い、constは宣言と同時に値を代入することが文法上必須です。
エラーメッセージの読み方
main.js:1
main.js- ファイル名
1- 行番号 — Node.jsが構文解析を諦めた位置
SyntaxError- エラークラス — 実行前の構文チェックで検出されました
Missing initializer in const declaration- 内容 — 期待していたもの、または受け付けられなかったもの
このエラーが出る典型パターン
パターン1
1 const price ; ^ 2 console.log(price);
main.js:1
const price;
^^^^^
SyntaxError: Missing initializer in const declaration
constは宣言と同時に値を代入する必要があります。後から代入するつもりでも、宣言の時点で値が無いと構文エラーになります。
直し方: (空) を = 100 にします。
広告
広告スロット(未設定)
パターン2
1 const name ; ^ 2 console.log(name);
main.js:1
const name;
^^^^
SyntaxError: Missing initializer in const declaration
nameのような参照型でも同じです。constは宣言時点で必ず初期値が必要です。
直し方: (空) を = "Al" にします。
パターン3
1 const isActive ; ^ 2 console.log(isActive);
main.js:1
const isActive;
^^^^^^^^
SyntaxError: Missing initializer in const declaration
真偽値を持つ変数でも例外はありません。constは必ず宣言と同時に初期化します。
直し方: (空) を = true にします。
よくある誤解
「後から代入すればいい」という発想はconstには通用しません。letなら後から代入できますが、constは宣言の時点で値が決まっていることを前提にした構文です。
まとめ
const宣言で初期値を書き忘れた原因と直し方は初級でつまずきやすい項目です。上の3パターンを実際に手で直すと、エラーメッセージのどこを読めばよいかが掴めます。