前言
首先undefined
和null
都是基本数据类型,这两个基本数据类型分别都只有一个值,就是undefined
和null
。
undefined
代表的含义是未定义 ,null
代表的的含义是空对象,一般变量声明了但是还有没有定义的时候会返回undefined,null主要用于赋值给一些可能会返回对象的变量,作为初始化。
undefined
在JS中不是一个保留字,着意味着可以使用undefined
来作为一个变量名,但是这样的做法是非常危险的,它会影响对undefined
值的判断,我们可以通过一些方法获得安全的undefined
值,比如说void 0 。
当对这两种类型使用typeof
进行判断时, undefined
返回undefined
,null
类型化会返回"object",这是一个历史遗留问题,当使用双等号对这两种类型的值进行比较时会返回true,使用三个等号时会返回false