null和undefined的區別

原文鏈接:https://www.jianshu.com/p/7514e2d56661

在JavaScript中,nullundefined 幾乎相等

if 語句中 nullundefined 都會轉爲false兩者用相等運算符比較也是相等

console.log(null==undefined);    //true  因爲兩者都默認轉換成了false
console.log(typeof undefined);    //"undefined"  
console.log(typeof null);       //"object"  
console.log(null===undefined);    //false   "==="表示絕對相等,null和undefined類型是不一樣的,所以輸出“false”

nullundefined 基本同義,二者又有什麼區別呢?

null表示沒有對象,即該處不應該有值

1) 作爲函數的參數,表示該函數的參數不是對象

2) 作爲對象原型鏈的終點

undefined表示缺少值,即此處應該有值,但沒有定義

1)定義了形參,沒有傳實參,顯示undefined

2)對象屬性名不存在時,顯示undefined

3)函數沒有寫返回值,即沒有寫return,拿到的是undefined

4)寫了return,但沒有賦值,拿到的是undefined

null和undefined轉換成number數據類型

null 默認轉成 0

undefined 默認轉成 NaN

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章