在js中有五种数据类型,如下:
其中undefined和null是两种容易让人产生困惑的数据类型,而且有的时候会作为面试题出现。
下面我们就来了解一下它们:
一、undefined
[əndiˈfīnd]:未定义的
它是一种数据类型,同时它有且只有一个值,就是它本身。我们可以用console.log( )获取它的值和类型:
在下面情况,会出现undefined:
二、null
[nʌl]:表示没有
获取它的值和类型为:
在《speakingjs》书中,提到null的属性为object,是个bug。
null主要是和对象挂钩,在下面的几种情况下,会使用null:
1.作为函数的参数,表示该函数的参数不是对象;
2.通常用作一个空引用,一个空对象的预期,就像一个占位符;
3.通过分配null'值,有效地清除引用,即object=null;
4.作为对象原型链的终点。
三、二者的关系
它们都是数据类型;
undefined表示未定义的,有且仅有一个值,就是它本身;typeof的结果是undefined;
null和对象有关,表示空对象,typeof结果是object;
只要和对象挂钩,就用null;
其它情况基本上都是使用undefined;
--end--