1. 犀牛前端部落首页
  2. Javascript百科

JavaScript基础:typeof null 为什么返回”object”

说到这个问题,其实俺跟绝大多数同学是一样的,比较奇怪这个会返回什么结果,其实结果并不重要,重要的是这个问题经常被拿过来当成面试题,但是这其实是语言本身的一个bug。

之前俺被问到这个问题好像答错了,当时比较心急,其实面试之前俺是看过这个问题的。出于学习的目的,今天俺就大家一起来学习一下这个小知识点。

null本身实际上是基本类型,但是Javascript在存储的时候,会将不同的对象在底层存储都使用二进制的方式存储,在Javascript中如果二进制的前三位都为0的话就会被判断为object,null的二进制存储表示形式为全是0,自然前三位也是0,因此执行typeof时会返回”object”。

不信的同学可以在控制台执行以下代码试试看哦:

console.log(typeof null)

控制台输出会以下结果:

object

这个坑大家学会了没?继续努力~

原创文章,作者:犀牛前端部落,如若转载,请注明出处:https://www.pipipi.net/991.html

发表评论

电子邮件地址不会被公开。 必填项已用*标注