JavaScriptのnullとは?「何もない」を明示する特別な値
JavaScriptを学んでいると、「null(ヌル)」というキーワードを見かけることがあります。
nullは「値が存在しないことを明示する」ための特別な値です。undefinedと混同しやすいので、しっかり区別して覚えましょう。
この記事では、nullの基本的な意味や使い方、undefinedとの違いについてわかりやすく解説します。
nullとは?
null は、「値が意図的に存在しないこと」を表すデータ型の一つです。
let data = null;
console.log(data); // null
このように、明示的に「まだ値はない」「空である」と指定するときに使います。
undefinedとの違い
nullとundefinedはどちらも「値がない」ことを表しますが、意味合いが異なります。
種類 |
意味 |
発生する例 |
null |
値が存在しないことを意図的に設定した |
let a = null; |
undefined |
値が未定義(まだ設定されていない) |
let b; |
typeofでの注意点
typeof演算子を使うと、nullの型は一見すると矛盾するように見えます。
let value = null;
console.log(typeof value); // "object"
これはJavaScriptの古い仕様によるもので、「nullはobject」と表示されますが、実際にはnullはプリミティブ型の一種です。
nullを使う場面
- まだデータが存在しないことを明示したいとき
- 初期値として「空」の状態を表したいとき
- 後でデータを上書きすることを想定しているとき
let user = null; // データ未設定状態
// 後で
user = { name: "Taro", age: 25 };
nullの判定方法
nullかどうかを判定するには、厳密等価演算子(===)を使うのが確実です。
if (value === null) {
console.log("nullです");
}
==
(抽象比較)だとundefinedとも等しいと判定されるので注意しましょう。
Falsy値としてのnull
nullは、条件分岐などでfalseとして扱われる「Falsy値」の一つです。
if (!null) {
console.log("nullはfalseとして扱われます");
}
まとめ
- nullは「値がないこと」を明示的に表す
- undefinedは「値が設定されていない」状態
- typeof null は "object" になるが、これはJavaScriptの仕様上の挙動
- nullの判定には
=== null
を使うのが安全
- nullはFalsy値としても扱われる
JavaScriptではnullとundefinedを正しく使い分けることが、堅牢なコードを書くための第一歩です。
意図的に空であることを示す場面では、nullを活用してみましょう。