You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

JavaScript中typeof null返回object的控制台疑问

为什么typeof null返回object?

这是JavaScript诞生时留下的历史遗留bug,从第一版JS就存在,至今因为要兼容大量旧代码而没有修复。

早期JavaScript用32位值存储数据,每个值的低3位用来标记数据类型:

  • 000:对象类型
  • 001:整数
  • 010:双精度浮点数
  • 100:字符串
  • 110:布尔值

而null被设计成所有位都是0的数值,它的低3位自然是000,正好和对象的类型标记重叠,导致typeof检测时误判为object。

你的代码示例验证了这个问题:

let car = null;
console.log(car); // 输出 null
console.log(typeof car); // 输出 object

如果要准确判断一个值是否为null,直接用全等运算符===即可:

console.log(car === null); // 输出 true

内容的提问来源于stack exchange,提问作者Xay

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.03 19:35:21