typeof null返回值为什么是object?

复制代码
 function isObject(type){
     return (typeof type)=='object'?true:false
    }
   console.log('isObject(null)',isObject(null)) 

是第一版本的JavaScript的问题,使用32位表示一个变量,其中前3位代表值的类型,000 表示对象,010 表示浮点数,100 表示字符串,110 表示布尔值,和其他的值都被认为是指针。,在这种情况下null被解释为000的指针,即被认为是一个空对象引用,因此typeof null的结果为object,属于历史遗留问题

这是 JavaScript 语言的一个历史遗留问题。

因为 null 的类型标签是 000,与 object 的类型标签一样。 所以 typeof null 被判定为 "object"

相关推荐
小小小小宇8 分钟前
前端看go并发
前端
Jasmine_llq8 分钟前
《B3840 [GESP202306 二级] 找素数》
开发语言·c++·试除法·顺序输入输出算法·素数判定算法·枚举遍历算法·布尔标记算法
前端Hardy16 分钟前
Cursor Rules 完全指南(2026 最新版)
前端·javascript·面试
程序员陆业聪17 分钟前
微前端状态管理的真相:Module Federation + 跨应用通信实战
前端
梁山好汉(Ls_man)18 分钟前
鸿蒙_ArkTS解决Duplicate function implementation错误
开发语言·华为·typescript·harmonyos·鸿蒙
xiaoshuaishuai822 分钟前
Git二分法定位Bug
开发语言·python
so2F32hj229 分钟前
一款Go语言Gin框架DDD脚手架,适合快速搭建项目
开发语言·golang·gin
牛奶30 分钟前
浏览器是怎么把代码变成页面的?
前端·javascript·chrome
flytam31 分钟前
Claude Agent SDK 深度入门指南
前端·aigc·agent
weixin199701080161 小时前
《电天下商品详情页前端性能优化实战》
前端·性能优化