← エラー辞典に戻る

JavaScript

Uncaught ReferenceError: xxx is not defined

変数・関数名のタイポ

こんな症状

コンソールに ReferenceError: xxx is not defined と表示される。変数名や関数名を間違えたときに起きやすいよ。

まず試す

エラーの名前が let/const/function で宣言されているか、スペル・大文字小文字が一致しているか確認する。

js
// ❌ 宣言されていない
console.log(myVar);

// ✅ 宣言してから使う
const myVar = "hello";
console.log(myVar);

これで直らなければ、下の「自分のケース」を確認。

🔍 自分のケースはどれ?

  • 変数名のタイポ・大文字小文字違い
    → 宣言した名前と完全一致させる(myVar と myvar は別物)。
  • 宣言より前で使っている
    → 宣言を使用位置より前に置く。
  • 別ファイル/スコープの変数
    → import しているか、同じスコープにあるか確認する。

なぜ起きる?

JavaScriptエンジンが指定された名前の変数や関数をスコープ内で見つけられないよ。変数名のタイポ(スペルミス)、大文字小文字の間違い、宣言する前に使おうとしている、別のスコープで宣言した変数にアクセスしようとしている、のいずれかが原因だよ。

✕ エラーが起きるコード
console.log(myVar);
// myVar が宣言されていない
✓ 直したコード
const myVar = "hello";
console.log(myVar);

✅ 直ったか確認

保存して再読み込み。ReferenceError が消え、変数の値が使えればOK。

🆘 まだ直らないときは

外部ライブラリの名前なら、読み込み(script/import)が済む前に使っていないか順序を確認しよう。

Q&Aで質問する →

この解決法は役立ちましたか?

🔗 関連するエラー

🔗 別カテゴリの関連エラー

📖 この問題を学べるレッスン

JSレッスン2:変数とデータ型で根本から理解する →

✏️ 手を動かして練習

このテーマの図解ドリルで実際に書いて確認する →

📝 関連ブログ記事

📖 関連する用語

🚀 JSレッスン2:変数とデータ型で根本解決しよう!

このエラーの背景にある仕組みを、手を動かしながら学べるレッスンがあります。完全無料・登録不要。

JSレッスン2:変数とデータ型へ →

❓ 関連するQ&A