undefined和null

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


五种数据类型

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

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

一、undefined

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

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

undefined的值和属性

在下面情况,会出现undefined:


出现undefined的情况

二、null

[nʌl]:表示没有

获取它的值和类型为:


null的值和类型

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


bug...

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

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

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

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

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

三、二者的关系

它们都是数据类型;

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

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

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

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


二者相等


但是不全等

--end--

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容