undefined与null的区别
表示变量没有被声明或者已经声明但未赋值。换句话说,如果我们试图访问一个不存在的变量或对象属性,那么默认返回的就是
undefined
表示一个变量被刻意设定为没有任何值或者说空值。换言之,当程序员想明确设定一个变量没有值,可以将其设定为
null
undefined,而null则需要程序员显式设定。JavaScript从不会自动将变量设为nullundefined并非有效的值,但是null当我们检查这两个值的类型时,
undefined的类型(typeof)是undefined,而null的类型(typeof)却是object。虽然这看起来有些违反直觉,但这是由于历史原因导致的 ,至今还未被修复。
undefined和nullundefined或null转成布尔型时,它们都返回false。因此我们称它们为值。
undefined或null
==进行比较时,Javascript会认为undefined和null相等。这是因为双等号在比较时会进行类型转换。然而,如果我们采用三等号===进行严格比较(不进行类型转换),那么undefined和null
总结以上的信息,我们就能更好地理解'undefined'和'null'在JavaScript中的应用,同时也能更准确地处理出现这两种类型的情况。

