null与undefined都可以表示“没有”,含义非常相似。目前null和undefined基本是同义的,只有一些细微的差别。
在if语句中,它们都会被自动转为false,null == undefined
返回true
。
对于null和undefined,可以大致可以像下面这样理解。
null表示空值,即该处的值现在为空。典型用法是:
**undefined表示不存在值,就是此处目前不存在任何值。**典型用法是:
在JavaScript里,条件判断语句中,下面六个值被转为false,其他值都视为true。
undefined
null
false
0
NaN
""(空字符串)
需要特别注意的是,空数组([]
)和空对象({}
)对应的布尔值,都是true。