【javascript】nullとundefinedの違いは?

javascript以外のプログラミング言語をやっている人には見慣れない「undefined」って何だ?

って疑問に思う人もいるかもしれません。

他のプログラミング言語では値がないことや空の値をnullといいます。

ところがjavascriptでは値がないこと表す言葉としてnullとundefinedの2つがあります。

undefinedとnullは値がない点では共通しています。

ところが意味合いが少し違ってきます。

nullとundefinedの違い

undefined

値の代入がされていないために値がない状態のことをいいます。

null

代入するための値が存在しないために値がない状態のことをいいます。

確認しよう

undefined

let item;
console.log(item);

上記を実行すると「undefined」になります。

変数を宣言したときに初期値がなければ変数にundefinedを代入します。

オブジェクト

const obj = {};
console.log(obj.item);

上記も実行すると「undefined」になります。

オブジェクトに存在しないものや配列にない要素もundefinedになります。

ポイント

次はnullとundefinedのポイントを紹介していきます。

  • nullは意図的に使わないと発生しないもの
  • undefinedもnullもプリミティブ型(基本的なデータ型)
  • undefinedという変数は作れるがnullという名前の変数を作ることはできない

まとめ

undefinedとnullも値がないという点で共通していますがどちらを使うか悩んだときはundefinedを使うほうが良いようです。

undefinedはいたるところで発生するのでundefinedにしていく方が現実的ともいえます。

コメント

タイトルとURLをコピーしました