为什么typeof null是”object“

星离~ 2025-03-07 20:58:18

javaScript在设计之初,使用了32位系统。为了优化性能,javaScript的值被存储为二进制数据,低位用来表示数据的类型。对象的类型标识符是000,而null被认为是一个空指针(也就是零地址),它的二级制表示全是0,也就是00 00 00 00.由于null的二进制表示和对象的类型标识相同,typeof null结果就被错误的设置为“object”尽管这个错误很早就被发现,但为了保持向后兼容性,修复这个错误会导致大量的现有代码出错。因此,这个行为就被保留了下来。

let value = null;
console.log(value === null); // 输出: true

 

...全文
31 回复 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

15

社区成员

发帖
与我相关
我的任务
社区描述
淡━━(‾ー‾*|||━━定
htmlcssjavascript 个人社区 山西省·晋中市
社区管理员
  • 星离~
  • 前端小关
  • 辛-夷
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧