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

null是空指针对象,那null是不是Object的实例呢vara=null;typeofa;//objectainstanceofObject//falsenull也不是Object的实例,那类型检测的时候为什么是'objec',是历史原因还是浏览器的兼容问题,不同的浏览器会显示不同的答案?
慕森卡
浏览 898回答 2
2回答

aluckdog

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

相关分类

JavaScript