推荐音频:陪你读书(JavaScript WEB前端)
欢迎指正
在音频资料里,讲到定义数据不知道为啥时,建议使用null,但实际开发过程中,还是发现用undefined的人较多。
Undefined和Null都是基本数据类型,这两个基本数据分别都只有一个值,就是undefined和null。
undefined代表的含义就是未定义,null代表的含义是空对象。
一般变量声明了但还没有定义的时候会返回undefined,null主要用于赋值给一些可能会返回对象的变量,作为初始化。
undefined在 javascript中不是一个保留字,这意味着可以使用undefined来作为一个变量名,但是这样的做法是非常危险的,它会影响对undefined值的判断。
但可以通过一些方法获得安全的undefined值,比如说void 0。
当然对于两种类型使用typeof进行判断时,Null类型化会返回"object",这是一个历史遗留的问题。当使用双等号对两种类型比较时会返回true,使用三个等号时会返回false。
如何获取安全的undefined值?
因为undefined是一个标识符,所以可以被当作变量来使用和赋值,但是这样会影响到undefined的正常判断。表达式void 没有返回值,因此返回结果是undefined。void并不改变表达式的结果,只是让表达式不返回值。因此可以用void 0来获得undefined。