JavaScript
🚨 Uncaught ReferenceError: xxx is not defined
変数・関数名のタイポ
😰 こんな症状
コンソールに ReferenceError: xxx is not defined と表示される。変数名や関数名を間違えたときに起きやすいよ。
🔍 原因
JavaScriptエンジンが指定された名前の変数や関数をスコープ内で見つけられないよ。変数名のタイポ(スペルミス)、大文字小文字の間違い、宣言する前に使おうとしている、別のスコープで宣言した変数にアクセスしようとしている、のいずれかが原因だよ。
❌ エラーが起きるコード
console.log(myVar);
// myVar が宣言されていない ✅ 直し方
1. エラーメッセージのxxxの部分を確認し、let/const/functionで宣言しているか確認する。 2. 大文字・小文字が完全に一致しているか確認する(myVar と myvar は別物)。 3. 変数の宣言位置が使用位置より前にあるか確認する。 4. 別ファイルの変数ならimportしているか確認する。
✅ 修正後のコード
const myVar = "hello";
console.log(myVar); この解決法は役立ちましたか?
🔗 関連するエラー
- TypeError: xxx is not a function — 関数でないものを呼び出している
- TypeError: undefined is not an object (evaluating 'obj.name') — 存在しないオブジェクトのプロパティにアクセスしている
- Uncaught TypeError: Cannot read properties of null — getElementById の id が存在しない
- 404 Not Found(スクリプトが読み込まれない) — script の src パスが間違っている
- ボタンを押しても何も起きない — getElementById の id 不一致
🔗 別カテゴリの関連エラー
📖 この問題を学べるレッスン
📝 関連ブログ記事
- プログラミングのエラーメッセージの読み方 — エラーの読み方を基礎から解説
- JavaScriptとは?初心者向けにわかりやすく解説 — 変数・関数・イベントの基本
- JavaScriptでボタンクリックを動かす方法 — ボタンクリック時の動作を解説