我们先来谈一谈两者的相似之处。
null 和 是JavaScript的原始类型。undefined
undefined 的意思是说,一个变量已经声明了,但它没有被赋值。
let age //age is undefined
let age = null //age is null
注意:访问一个没有声明的变量会引发
ReferenceError: <variable> is not defined错误,但这并不意味着它是undefined。
如何检查一个变量是否为空?使用比较运算符,例如age === null
对未定义也是如此。age === undefined
在这两种情况下,你都可以检查。
而这将同时匹配null 和undefined 。
你也可以使用typeof 操作符。
let age
typeof age //'undefined'
尽管null 是作为一个对象被评估的,尽管它是一个原始的类型。
let age = null
typeof age //'object'