null和undefined的区别(简单易懂)

一、null是一个特殊值,但我们常常误解它,将它和undefined搞混。

在下列场景中应该使用null。

1.用来初始化一个变量,这个变量可能赋值为一个对象。
2.用来和一个已经初始化的变量比较,这个变量可以是也可以不是一个对象。
3.当函数的参数期望是对象时,用作参数的传入。
4.当函数的返回值期望是对象时,用作返回值传出。
还有以下一些场景不应当使用null
1.不要使用null来检测是否传入了某个参数。
2.不要用null来检测一个未初始化的变量。

这里有一些示例代码:


image.png

二、undefined也是一个特殊值,我们常常将它和null搞混。

其中一个让人困惑的地方在于null==undefined结果为true。然而,这两个值的用途却各部相同。那些没有被初始化的变量都有一个初始值,即undefined,表示这个变量等待被赋值。

三、注意事项

1.值是undefined的变量和未声明的变量,typeof运算结果都是“undefined”。运算符typeof运算null的类型时返回“object”。
2.通过禁止使用特殊值undefined,可以有效地确保只在一种情况下typeof才会返回“undefined”:当变量未声明时。这样就可以区别null和undefined。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容