JavaScript
🔍 文字列の比較が一致しない
=== と == の違い
😰 こんな症状
if (a === b) が true にならない。
🔍 原因
型が違う(例:数値の 1 と文字列の "1")。=== は型も比較するので一致しない。
❌ エラーが起きるコード
if (1 == "1") { /* true */ }
// 型変換で意図しない一致
✅ 直し方
=== を使う場合は型を揃える。Number("1") === 1 は true。console.log(typeof a, typeof b) で型を確認する。
✅ 修正後のコード
if (1 === 1) { /* true */ }
// 厳密等価で型も比較
この解決法は役立ちましたか?
🔗 関連するエラー
- Uncaught ReferenceError: xxx is not defined — 変数・関数名のタイポ
- Uncaught TypeError: Cannot read properties of null — getElementById の id が存在しない
- 404 Not Found(スクリプトが読み込まれない) — script の src パスが間違っている
- ボタンを押しても何も起きない — getElementById の id 不一致
- SyntaxError: Unexpected token — 括弧・波括弧の閉じ忘れ
📖 この問題を学べるレッスン
📝 関連ブログ記事
- プログラミングのエラーメッセージの読み方 — エラーの読み方を基礎から解説