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"

相关推荐
故事还在继续吗几秒前
C++内存模型
开发语言·c++·内存
Tairitsu_H2 分钟前
C++:构造函数与初始化列表详解
开发语言·c++·构造函数
琪露诺大湿7 分钟前
VeloQueue-测试报告
java·开发语言·消息队列·单元测试·项目·测试报告
茅盾体8 分钟前
Electron图标相关
java·前端·electron
minji...8 分钟前
Linux 网络套接字编程(四)支持多客户端同时在线、消息能转发给所有人的 UDP 聊天室服务器
linux·运维·开发语言·网络·c++·算法·udp
XS0301069 分钟前
Java 基础(十一)反射
java·开发语言
t***54411 分钟前
Dev-C++中使用Clang调试有哪些常见错误
java·开发语言·c++
ydmy12 分钟前
强化学习/对齐(个人理解)
开发语言·python
一叶之秋141216 分钟前
哈希密钥:解锁unordered容器的极速潜能
开发语言·c++·哈希算法