为了账号安全,请及时绑定邮箱和手机立即绑定

为什么执行typeof null 返回的是‘object’?

为什么执行typeof null 返回的是‘object’?

慕森卡 2019-06-13 10:00:42
null是空指针对象,那null是不是Object的实例呢vara=null;typeofa;//objectainstanceofObject//falsenull也不是Object的实例,那类型检测的时候为什么是'objec',是历史原因还是浏览器的兼容问题,不同的浏览器会显示不同的答案?
查看完整描述

2 回答

?
aluckdog

TA贡献1847条经验 获得超7个赞

这种问题问之前为什么不搜一下先呢?答案一大把..
具体可以参考知乎这位博主的回答:
null不是一个空引用,而是一个原始值,参考ECMAScript5.1中文版4.3.11节;它只是期望此处将引用一个对象,注意是"期望",参考null-JavaScript.
typeofnull结果是object,这是个历史遗留bug,参考typeof-JavaScript
在ECMA6中,曾经有提案为历史平凡,将typenull的值纠正为null,但最后提案被拒了.理由是历史遗留代码太多,不想得罪人,不如继续将错就错当和事老,参考harmony:typeof_null[ESWiki]
                            
查看完整回答
反对 回复 2019-06-13
  • 2 回答
  • 0 关注
  • 897 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信