js 中null和undefined区别

上周五上线代码,又踩了一次坑。导致线上bug。为此特意追查了下null和undefined在js中的却别。整理了相关的资料如下。

1.当值为null时,代表“空值”,实际上是空对象指针,使用typeof运算得到 “object”,是一个特殊的对象值。这个值是存在的,并且类型为object.

2.undefined类型,当一个声明了一个变量但是未初始化时,得到的就是undefined,是js独有的。undefined的引入的是为了区分空指针对象和未初始化的变量。

   它是一个预定义的全局变量。没有返回值的函数返回为undefined,没有实参的形参也是undefined。

综合来看,null和 undefined都表示“值的空缺”,可以认为undefined是表示系统级的、出乎意料的或类似错误的值的空缺,null是表示程序级的、正常的或在意料之中的值的空缺。

     undefined是访问一个未初始化的变量时返回的值,而null是访问一个尚未存在的对象时所返回的值。因此,可以把undefined看作是空的变量,而null看作是空的对象。

在定义一个想保存对象的变量时,就可以让该变量先保存null值,这样既能体现null是一个空指针对象,也能更好的区分null和undefined

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

相关阅读更多精彩内容

友情链接更多精彩内容