undefinedとnullの違い

記事
IT・テクノロジー
JavaScriptを学び始めると、必ず出てくるのが「undefined」と「null」という2つの特殊な値です。どちらも「値が存在しない」ことを表しますが、意味や使われ方には明確な違いがあります。

1. undefinedとは

**undefined(アンディファインド)**は、
「まだ値が定義されていない」状態を意味します。

JavaScriptでは、変数を宣言しただけで値を代入していないと、自動的にundefinedが入ります。
つまり「システム側で自動的に設定される“未定義”状態」です。

たとえば:

宣言だけして代入していない変数

存在しないオブジェクトのプロパティ

何も返さない関数の戻り値

これらにアクセスしたときにundefinedになります。

2. nullとは

**null(ヌル)**は、
「値がないことを意図的に示す」ための値です。

つまり、開発者が「ここには何も入っていません」ということを明確に表すために使います。
プログラムの流れの中で「まだ値を取得していないけど、後で入る予定」という場合などに便利です。

3. 簡単に言うと
状態 意味 誰が設定するか
undefined 値が“未定義” JavaScriptが自動で設定
null 値が“存在しない”と明示 開発者が意図的に設定
4. 実務での使い分け

undefinedは「何も代入していない」状態を確認するために使う。
 → 例:「このデータまだ来てないな」とチェックする。

nullは「値をリセットしたい」「空っぽにしたい」ときに自分で代入する。
 → 例:「ログアウトしたらユーザー情報をnullに戻す」。

5. まとめ

undefined → システムが付ける「未定義」

null → 開発者が付ける「空っぽ」

どちらも“空”を表すが、意味と意図が異なる

つまり、
「まだ何も決まっていない」はundefined、
「明確に空にしておく」はnull、
と覚えると整理しやすいです。
サービス数40万件のスキルマーケット、あなたにぴったりのサービスを探す ココナラコンテンツマーケット ノウハウ記事・テンプレート・デザイン素材はこちら