JavaScript中null和undefined的比較

null 和 undefined

null和undefined都是代表空/沒有的意思, 但是其中還是有一些區別, null代表空值, undefined代表沒值

null

null往往代表意料之中的沒值,通常是由認爲賦值,並且會在之後的操作中對其進行賦值(當然,不是一定賦值);

let person = null; // => null
undefined

undefined 一般代表不是人爲的沒值,一般由瀏覽器或者其他環境自動賦值爲undefined, 後面可賦值,也可不賦值

let person;     // => undefined  這是解析器的默認行爲

具體體現上的區別:

// 轉化爲數字類型
Number(null); // => 0;
Number(undefined); // NaN

// typeof語法
typeof null; // => Object; 這是一個歷史bug, 因爲在最開始,null被認爲是一個不存在對象的佔位符,後來被ECMAScript沿襲下來
typeof undefined; // => undefined

//判斷相等
null == undefined; // => true
null === undefined;  //  => false  不嚴格相等
發佈了32 篇原創文章 · 獲贊 22 · 訪問量 8萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章