JavaScript基本概念整理(null、undefined)

weixin_33797791發表於2019-02-15

nullundefined都可以表示“沒有”,含義非常相似。將一個變數賦值為undefinednull,老實說,語法效果幾乎沒區別。

var a = undefined;
// 或者
var a = null;

上面程式碼中,變數a分別被賦值為undefinednull,這兩種寫法的效果幾乎等價。

if語句中,它們都會被自動轉為false,相等運算子(==)甚至直接報告兩者相等。

if (!undefined) {
  console.log('undefined is false');
}
// undefined is false

if (!null) {
  console.log('null is false');
}
// null is false

undefined == null
// true

當轉化為Number時,null自動變成0,而undefined變成NaN

Number(null) // 0
5 + null // 5
Number(undefined) // NaN
5 + undefined // NaN

相關文章