在JavaScript中,null和undefined的区别是什么?

200 阅读1分钟

我们先来谈一谈两者的相似之处。

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

在这两种情况下,你都可以检查。

而这将同时匹配nullundefined

你也可以使用typeof 操作符。

let age
typeof age //'undefined'

尽管null 是作为一个对象被评估的,尽管它是一个原始的类型。

let age = null
typeof age //'object'