JavaScript
🚨 Expected an assignment or function call
式を書いただけで代入も呼び出しもしていない
😰 こんな症状
比較演算子(===)と代入演算子(=)を混同している。式文の書き方で起きるよ。
🔍 原因
式を書いただけで、代入も関数呼び出しもしていないよ。例えばa === 1;と書いても比較結果を使っていないから意味がないんだ。if(a === 1)のように条件式の中で使うか、const result = a === 1;のように結果を変数に入れる必要があるよ。
❌ エラーが起きるコード
// 式を書いただけで、代入も関数呼び出しもしていない。比較演算子(===)と代入演算子(=)の混同。 ✅ 直し方
1. 比較結果を変数に代入するか、if文の条件に使う。 2. 代入したいなら=を使う(a = 1)。 3. 比較したいならif文やreturn文の中で使う。 4. ESLintのno-unused-expressionsルールで検出できる。
✅ 修正後のコード
// 式の結果を変数に代入するか、意図した処理に書き換える。 この解決法は役立ちましたか?
🔗 関連するエラー
- TypeError: Assignment to constant variable — constで宣言した変数に再代入している
- SyntaxError: Invalid left-hand side in assignment — 代入できないものに代入しようとしている
- Uncaught ReferenceError: xxx is not defined — 変数・関数名のタイポ
- Uncaught TypeError: Cannot read properties of null — getElementById の id が存在しない
- 404 Not Found(スクリプトが読み込まれない) — script の src パスが間違っている
🔗 別カテゴリの関連エラー
📖 この問題を学べるレッスン
📝 関連ブログ記事
- プログラミングのエラーメッセージの読み方 — エラーの読み方を基礎から解説
- JavaScriptとは?初心者向けにわかりやすく解説 — 変数・関数・イベントの基本
- JavaScriptでボタンクリックを動かす方法 — ボタンクリック時の動作を解説