在 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

发表回复 0

Your email address will not be published.