在 JavaScript 中,typeof null
返回 'object'
是一个历史遗留问题,实际上是 JavaScript 语言本身的一个设计缺陷。
这个问题最初出现在 JavaScript 的早期版本中,当时 JavaScript 的值是以 32 位二进制表示的类型标签来存储的,null
的类型标签被错误地标记为 0,这个标记代表了对象。因此,typeof null
返回了 'object'
。
要检查一个值是否为 null
,可以使用严格相等运算符 ===
进行比较。因为 null
是一个原始值,代表“空”的对象引用,与任何对象或其他原始值都不相等(包括它自身)。因此,可以使用如下方式检查一个值是否为 null
:
let value = null;
if (value === null) {
console.log('The value is null.');
} else {
console.log('The value is not null.');
}
这种方式利用了严格相等运算符,确保只有当值严格等于 null
时条件才会成立。这是目前最常用的检查值是否为 null
的方法。
Was this helpful?
0 / 0