Javascript 空对象类型

Javascript null object type

本文关键字:类型 对象 Javascript      更新时间:2023-09-26

我在JS文章中找到了这个,但我找不到解释,有人可以指向赖特方向或在这里解释吗?

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

MDN是这样解释的:

值 null

是表示 null 或"空"值的 JavaScript 文字,即不存在对象值。它是JavaScript的原始价值之一。

值 null 是文本

在该页面的下方,您将找到以下内容:

typeof null        // object (bug in ECMAScript, should be null)
typeof undefined   // undefined
null === undefined // false
null  == undefined // true

这是一个带有该代码的代码笔,显示了结果(以及谈论的错误)

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>

这是因为Object是一个函数。因此,null 只是 null,Object 是一个函数。

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