JavaScriptのnullとundefinedの違いをわかりやすく解説
JavaScriptでは、nullとundefinedはどちらもプリミティブ値(基本型)です。よく似た存在に見えますが、それぞれ意味や使われ方が異なります。
そもそもJavaScriptの値には、プリミティブ値と非プリミティブ値(オブジェクト型)の2種類があります。この違いを理解しておくことは、言語全体を学ぶうえでとても重要なので、あわせて押さえておきましょう。
undefinedとは?
undefinedは、「宣言はされたものの、まだ値が代入されていない」変数が持つ値です。
例えば、次のように変数を宣言しただけでコンソールに出力してみます。
let dogBreed
// undefined
結果はundefinedになります。これは、変数dogBreedにまだ何の値も代入されていないためです。
nullとは?
nullは、開発者が意図的に変数へ代入する値です。「この変数は今は空であることを明示したい」という場面でよく使われます。
例えば、コードの中に意図しないundefinedの変数が残るのを避けたい場合、その変数にnullを代入しておき、後で本来の値を設定する、という使い方が一般的です。
let dogBreed = null
console.log(dogBreed)
// null
豆知識:nullは「object」として判定される
実は、nullに対してtypeof演算子を使うと、object(オブジェクト)という結果が返されます。
console.log(typeof dogBreed)
// object
これはJavaScript初期の実装に由来する歴史的な挙動で、現在でも後方互換性のために維持されている有名な仕様です。プリミティブ値であるはずのnullがオブジェクトとして判定される点は、初心者がつまずきやすいポイントなので、覚えておくとよいでしょう。
-
JavaScriptとPHPの違いとは?主要な相違点を比較表でわかりやすく解説
はじめにJavaScriptとPHPは、Web開発の世界で最も人気のあるプログラミング言語の2つです。どちらも豊富な機能と特徴を備えており、世界中の開発者から広く利用されています。この記事では、両言語の主な違いを比較表とあわせて、初心者にもわかりやすく解説します。JavaScriptとPHPの主な違い(比較表)項番比較項目JavaScriptPHP1登場時期1995年にブレンダン・アイク(Brendan Eich)によって開発されました。1994年にラスマス・ラードフ(Rasmus Lerdorf)によって開発されており、JavaScriptより先に登場しています。2種類(実行環境)主にクライ
-
JavaとJavaScriptの違いとは?歴史・技術・使い分けを徹底解説
ウェブ開発者のジェレミー・キースは2009年、「JavaとJavaScriptの関係は、ハムとハムスターの関係のようなものだ」と語りました。この比喩がどれほど正確かは議論の余地がありますが、その本質は的確です。共通する言語的ルーツを持つにもかかわらず、JavaとJavaScriptはまったく異なる2つのプログラミング言語なのです。年月とともに両者の重なりも多少増えましたが、今なおJavaScriptはウェブサイトにインタラクティブ性をもたらすフロントエンド言語の主流であり続け、Javaはサーバーサイドやアプリケーション開発で人気を保っています。開発者を採用したい方、プログラミングを学びたい方