undefined和null

在js中有五种数据类型,如下:


undefined和null_第1张图片
五种数据类型

其中undefinednull是两种容易让人产生困惑的数据类型,而且有的时候会作为面试题出现。

下面我们就来了解一下它们:

一、undefined

[əndiˈfīnd]:未定义的

它是一种数据类型,同时它有且只有一个值,就是它本身。我们可以用console.log( )获取它的值和类型:

undefined和null_第2张图片
undefined的值和属性

在下面情况,会出现undefined:


undefined和null_第3张图片
出现undefined的情况

二、null

[nʌl]:表示没有

获取它的值和类型为:


undefined和null_第4张图片
null的值和类型

在《speakingjs》书中,提到null的属性为object,是个bug。


bug...

null主要是和对象挂钩,在下面的几种情况下,会使用null:

1.作为函数的参数,表示该函数的参数不是对象;

2.通常用作一个空引用,一个空对象的预期,就像一个占位符;

3.通过分配null'值,有效地清除引用,即object=null;

4.作为对象原型链的终点。

三、二者的关系

它们都是数据类型;

undefined表示未定义的,有且仅有一个值,就是它本身;typeof的结果是undefined;

null和对象有关,表示空对象,typeof结果是object;

只要和对象挂钩,就用null;

其它情况基本上都是使用undefined;


undefined和null_第5张图片
二者相等


undefined和null_第6张图片
但是不全等

--end--

你可能感兴趣的:(undefined和null)