カテゴリ: JavaScript 更新日: 2025/11/04

JavaScriptの条件式でよくあるエラーとその対処法まとめ

JavaScriptの条件式でよくあるエラーとその対処法まとめ
JavaScriptの条件式でよくあるエラーとその対処法まとめ

先生と生徒の会話形式で理解しよう

生徒

「先生、if文や条件式を書いたらエラーになってしまいました。どうしてでしょうか?」

先生

「JavaScriptの条件式では、書き方や変数の状態によってよくあるエラーがあります。順番に見ていきましょう。」

生徒

「具体的にはどんなエラーが多いですか?」

先生

「主に三つあります。未定義の変数を使うエラー、型の違いによる比較エラー、そして構文ミスです。」

1. 未定義の変数を使ったエラー

1. 未定義の変数を使ったエラー
1. 未定義の変数を使ったエラー

JavaScriptでは、宣言していない変数を条件式で使うとエラーになります。これはプログラムがどの値を使えばよいかわからないためです。


if (userAge > 18) {
  console.log("成人です");
}

ReferenceError: userAge is not defined

この場合は、変数を先に宣言して値を代入する必要があります。


let userAge = 20;
if (userAge > 18) {
  console.log("成人です");
}

成人です

2. 型の違いによる比較エラー

2. 型の違いによる比較エラー
2. 型の違いによる比較エラー

文字列と数値を混ぜて比較すると、意図しない結果になったり、警告が出たりします。JavaScriptでは自動的に型を変換することもありますが、注意が必要です。


let num = "10";

if (num > 5) {
  console.log("numは5より大きい");
}

numは5より大きい

この場合、文字列"10"が数値10として比較されますが、意図しない挙動を避けるために明示的に型変換するのが安全です。


let num = "10";

if (Number(num) > 5) {
  console.log("numは5より大きい");
}

numは5より大きい

3. 構文ミスによるエラー

3. 構文ミスによるエラー
3. 構文ミスによるエラー

条件式の括弧や波括弧を忘れると、構文エラーが発生します。初心者によくあるミスのひとつです。


if num > 10 {
  console.log("10より大きい");
}

SyntaxError: Unexpected identifier

正しい書き方は、条件式を丸括弧で囲み、処理を波括弧で囲みます。


let num = 15;

if (num > 10) {
  console.log("10より大きい");
}

10より大きい

4. nullやundefinedのチェック不足

4. nullやundefinedのチェック不足
4. nullやundefinedのチェック不足

変数がnullやundefinedの可能性がある場合に条件式で直接値を使うと、予期しない挙動になることがあります。


let userName;

if (userName.length > 0) {
  console.log("ユーザー名あり");
}

TypeError: Cannot read property 'length' of undefined

この場合は、値があるかどうかを先にチェックする必要があります。


let userName;

if (userName && userName.length > 0) {
  console.log("ユーザー名あり");
} else {
  console.log("ユーザー名なし");
}

ユーザー名なし

5. 条件式の順序と優先度に注意

5. 条件式の順序と優先度に注意
5. 条件式の順序と優先度に注意

複雑な条件式では、論理演算子の順序や優先度を意識しないと意図しない結果になることがあります。括弧を使って明示的に優先度を示すのが安全です。


let x = 5;
let y = 10;

if (x > 0 && y < 20 || x === 5) {
  console.log("条件に合致");
}

意図がわかりにくい場合は、括弧を追加して優先度を明確にしましょう。


if ((x > 0 && y < 20) || x === 5) {
  console.log("条件に合致");
}

6. エラーを防ぐためのポイント

6. エラーを防ぐためのポイント
6. エラーを防ぐためのポイント
  • 変数は必ず宣言してから使用する
  • 型を意識して比較する
  • 条件式の括弧や波括弧を正しく使う
  • nullやundefinedを事前にチェックする
  • 複雑な条件式は括弧で優先度を明確にする

これらを意識することで、JavaScriptの条件式で発生しやすいエラーを減らすことができます。初心者でも落ち着いて確認すれば、エラーの原因を素早く特定できます。

カテゴリの一覧へ
新着記事
New1
TypeScript
TypeScriptでパスエイリアスを設定する方法!baseUrlとpathsでコードをスッキリ整理
New2
JavaScript
JavaScriptのfor文の書き方を初心者向けにやさしく解説
New3
JavaScript
JavaScriptの関数でよくあるエラーとその解決法まとめ
New4
JavaScript
JavaScriptのイベント処理でよくあるエラーとその対処法
人気記事
No.1
Java&Spring記事人気No1
JavaScript
JavaScriptのインストール方法まとめ!Windows・Mac・Linux別にステップ解説
No.2
Java&Spring記事人気No2
JavaScript
JavaScriptのマウスイベントの使い方(click, mouseoverなど)
No.3
Java&Spring記事人気No3
JavaScript
JavaScriptのtoStringとString関数の違いを初心者向けに解説
No.4
Java&Spring記事人気No4
JavaScript
JavaScriptの純粋関数(pure function)と副作用の違いを理解しよう
No.5
Java&Spring記事人気No5
JavaScript
JavaScriptプログラムの実行方法まとめ!ブラウザ・Node.js・コンソールの使い方
No.6
Java&Spring記事人気No6
JavaScript
JavaScriptで文字列をforループで1文字ずつ処理する方法!初心者向け解説
No.7
Java&Spring記事人気No7
TypeScript
TypeScript学習におすすめの無料教材・リファレンスサイト【初心者向け】
No.8
Java&Spring記事人気No8
TypeScript
TypeScriptの始め方:開発環境の構築手順【初心者向け】