我在JS文章中发现了这个,但是我找不到解释,有人可以指向正确的方向或在这里解释吗?
typeof null; // object
null === Object; // false
答案 0 :(得分:1)
MDN解释如此:
值null是一个JavaScript文字,表示null或" empty"值,即不存在对象值。它是JavaScript的原始值之一。
值null是文字
在该页面的下方,你会发现:
typeof null // object (bug in ECMAScript, should be null)
typeof undefined // undefined
null === undefined // false
null == undefined // true
这是一个包含该代码的codepen,显示结果(以及所讨论的bug)
document.getElementById('test1').innerHTML = typeof null;
document.getElementById('test2').innerHTML = typeof undefined;
document.getElementById('test3').innerHTML = null === undefined;
document.getElementById('test4').innerHTML = null == undefined;

<div id="test1"></div>
<div id="test2"></div>
<div id="test3"></div>
<div id="test4"></div>
&#13;
答案 1 :(得分:0)
这是因为Object
是一个功能。因此null只是null而Object是一个函数。
typeof null === 'object'
typeof Object === 'function'