Javascript null对象类型

时间:2016-03-15 09:29:32

标签: javascript

我在JS文章中发现了这个,但是我找不到解释,有人可以指向正确的方向或在这里解释吗?

typeof null; // object
null === Object; // false

2 个答案:

答案 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;
&#13;
&#13;

答案 1 :(得分:0)

这是因为Object是一个功能。因此null只是null而Object是一个函数。

typeof null === 'object'
typeof Object === 'function'