カテゴリ: JavaScript 更新日: 2025/10/23

JavaScriptの条件式におけるnull・undefined判定のコツ!初心者でもわかる判定方法ガイド

JavaScriptの条件式におけるnull・undefined判定のコツ
JavaScriptの条件式におけるnull・undefined判定のコツ

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

生徒

「先生、JavaScriptで変数がnullやundefinedかどうかを判定したいんですが、どうやってチェックすればいいですか?」

先生

「いい質問ですね。nullundefinedは似ているけど少し違う値で、それぞれを判定するコツがあります。順番に説明しますね。」

生徒

「そもそもnullundefinedって何が違うんですか?」

先生

「まずはそこから説明しますね!」

1. nullとundefinedの違いとは?

1. nullとundefinedの違いとは?
1. nullとundefinedの違いとは?

nullは「値が意図的に存在しない」ことを示します。プログラマーが「ここは空です」と明示的にセットする値です。

undefinedは「値がまだ設定されていない」状態を示します。変数を宣言したけど値を入れていないときに自動的にこの値になります。

簡単に言うと、nullは「空の箱」、undefinedは「まだ箱が用意されていない」状態です。

2. null・undefinedを判定する基本的な方法

2. null・undefinedを判定する基本的な方法
2. null・undefinedを判定する基本的な方法

JavaScriptでnullundefinedかどうかを調べるには、===という「厳密な比較演算子」を使うのがおすすめです。


let value = null;

if (value === null) {
  console.log("値はnullです。");
}

if (value === undefined) {
  console.log("値はundefinedです。");
}

ここでは、valuenullなら一つ目のメッセージが出て、undefinedなら二つ目のメッセージが出ます。

3. nullとundefinedの両方をまとめて判定するコツ

3. nullとundefinedの両方をまとめて判定するコツ
3. nullとundefinedの両方をまとめて判定するコツ

両方とも「値がない状態」なので、一緒に判定したい場合も多いです。そのときは==(ゆるい比較)を使う方法があります。


let value;

if (value == null) {
  console.log("値はnullまたはundefinedです。");
}

== nullnullundefinedのどちらかの場合に真になります。ただし、==は他のケースで予期せぬ動きをすることがあるので注意が必要です。

4. if文の条件でnull・undefinedを判定する場合のポイント

4. if文の条件でnull・undefinedを判定する場合のポイント
4. if文の条件でnull・undefinedを判定する場合のポイント

JavaScriptのif文では、nullundefinedも「false(偽)」として扱われます。つまり、次のように書くと両方をまとめてチェックできます。


let value;

if (!value) {
  console.log("値が設定されていません。");
}

ただし、0や空文字 ""falseも「false」と判定されるため、注意が必要です。もし「値が空かどうか」も区別したいときは別のチェックが必要になります。

5. typeof演算子を使ったundefined判定の方法

5. typeof演算子を使ったundefined判定の方法
5. typeof演算子を使ったundefined判定の方法

typeof演算子は変数の「型」を調べるためのものです。宣言されていない変数を調べるときにも安全に使えます。


if (typeof someVar === "undefined") {
  console.log("someVarはundefinedです。");
}

変数が宣言されていない状態で値を調べるとエラーになりますが、typeofはエラーにならず安全に調べられます。

6. null・undefinedの違いをはっきりさせる実例

6. null・undefinedの違いをはっきりさせる実例
6. null・undefinedの違いをはっきりさせる実例

例えば、ユーザーの入力がまだない場合にnullを使い、変数を宣言したけど値をまだ入れていない場合はundefinedになります。


// ユーザーの入力がまだない
let userInput = null;

// 変数宣言だけした状態
let temp;

console.log(userInput); // null
console.log(temp);      // undefined

7. null・undefined判定のコツまとめ

7. null・undefined判定のコツまとめ
7. null・undefined判定のコツまとめ
  • nullundefinedは似ているが用途や意味が違うので使い分ける。
  • ===を使って厳密に判定するのが安全。
  • nullundefinedのどちらかをまとめて判定したいなら== nullを使う。
  • if(!value)は簡単にまとめてチェックできるが、0や空文字も偽と判定される点に注意。
  • typeof演算子は変数が未定義のときでも安全にundefinedをチェックできる。

8. 実践!null・undefined判定を使ったサンプルコード

8. 実践!null・undefined判定を使ったサンプルコード
8. 実践!null・undefined判定を使ったサンプルコード

最後に実際に判定を使ってみましょう。ユーザーの入力があるかどうかを判定してメッセージを表示する例です。


// ユーザーの名前入力
let userName = null;

if (userName === null) {
  console.log("名前が設定されていません(null)。");
}

if (userName === undefined) {
  console.log("名前が設定されていません(undefined)。");
}

if (userName == null) {
  console.log("名前はnullまたはundefinedです。");
}

if (!userName) {
  console.log("名前は空かnullかundefinedです。");
}

このように状況に合わせて判定方法を使い分けると、意図した条件分岐が書きやすくなります。

カテゴリの一覧へ
新着記事
New1
TypeScript
TypeScript × ES6の連携まとめ!安全でモダンなJavaScript開発の鍵
New2
TypeScript
TypeScriptの型システムとは?静的型付けのメリットと基本
New3
JavaScript
JavaScriptの正規表現で繰り返し指定(* + ? {n,m})を学ぼう
New4
TypeScript
TypeScriptとESNextの連携を完全ガイド!最新機能を使いこなす設定と対応法
人気記事
No.1
Java&Spring記事人気No1
JavaScript
JavaScriptのインストール方法まとめ!Windows・Mac・Linux別にステップ解説
No.2
Java&Spring記事人気No2
JavaScript
JavaScriptの日時操作Tips!実務で役立つテクニック集
No.3
Java&Spring記事人気No3
TypeScript
TypeScriptでESLintとPrettierを導入!コード整形ルールを自動で統一する方法
No.4
Java&Spring記事人気No4
JavaScript
JavaScriptプログラムの実行方法まとめ!ブラウザ・Node.js・コンソールの使い方
No.5
Java&Spring記事人気No5
TypeScript
TypeScriptのif文の使い方を完全ガイド!初心者でもわかる条件分岐
No.6
Java&Spring記事人気No6
TypeScript
TypeScriptでコメントを書く正しい書き方と使い分け【初心者向けにやさしく解説】
No.7
Java&Spring記事人気No7
JavaScript
JavaScriptの正規表現で文字列を置換する方法(replaceメソッド)
No.8
Java&Spring記事人気No8
TypeScript
TypeScriptで非同期イテレーター(for await of)を活用する