null是空指针对象,那null是不是Object的实例呢var a = null;typeof a; // objecta instanceof Object // falsenull也不是Object的实例,那类型检测的时候为什么是'objec',是历史原因还是浏览器的兼容问题,不同的浏览器会显示不同的答案?关注 | 3收藏
1 回答
千巷猫影
TA贡献1829条经验 获得超7个赞
这种问题问之前为什么不搜一下先呢?答案一大把..
具体可以参考知乎这位博主的回答:
null不是一个空引用, 而是一个原始值, 参考ECMAScript5.1中文版 4.3.11节; 它只是期望此处将引用一个对象, 注意是"期望", 参考 null - JavaScript.
typeof null结果是object, 这是个历史遗留bug, 参考 typeof - JavaScript
在ECMA6中, 曾经有提案为历史平凡, 将type null的值纠正为null, 但最后提案被拒了. 理由是历史遗留代码太多, 不想得罪人, 不如继续将错就错当和事老, 参考 harmony:typeof_null [ES Wiki]
添加回答
举报
0/150
提交
取消