首先 Undefined 和 Null 都是基本數(shù)據(jù)類型,這兩個(gè)基本數(shù)據(jù)類型分別都只有一個(gè)值,就是 undefined 和 null。
undefined 代表的含義是未定義,null 代表的含義是空對(duì)象。一般變量聲明了但還沒有定義的時(shí)候會(huì)返回 undefined,null主要用于賦值給一些可能會(huì)返回對(duì)象的變量,作為初始化。
undefined 在 JavaScript 中不是一個(gè)保留字,這意味著可以使用 undefined 來作為一個(gè)變量名,但是這樣的做法是非常危險(xiǎn)的,它會(huì)影響對(duì) undefined 值的判斷。我們可以通過一些方法獲得安全的 undefined 值,比如說 void 0。
當(dāng)對(duì)這兩種類型使用 typeof 進(jìn)行判斷時(shí),Null 類型化會(huì)返回 “object”,這是一個(gè)歷史遺留的問題。當(dāng)使用雙等號(hào)對(duì)兩種類型的值進(jìn)行比較時(shí)會(huì)返回 true,使用三個(gè)等號(hào)時(shí)會(huì)返回 false。