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"

相关推荐
CC.GG5 分钟前
【Qt】常用控件----显示类控件(QLabel、QLCDNumber、QProgressBar、QCalendarWidget)
开发语言·数据库·qt
程芯带你刷C语言简单算法题10 分钟前
Day43~实现一个算法求一个数字的树根
c语言·开发语言·算法·c
Chase_______23 分钟前
【JAVA基础指南(四)】快速掌握类和对象
java·开发语言
KiefaC24 分钟前
【C++11】包装器及其应用
开发语言·c++
weixin_4707403624 分钟前
python生成环境部署
开发语言·python
环黄金线HHJX.25 分钟前
【QuantumTuan:Qt】
开发语言·qt
Eiceblue25 分钟前
Python 实现 CSV 转 TXT 格式 (单文件 + 批量处理)
开发语言·python·visual studio code
C_心欲无痕38 分钟前
网络相关 - 常用命令详解Telnet、Ping 及其他实用工具
前端·网络
JarvanMo1 小时前
没有人比我更懂Flutter第三方依赖鸿蒙化了之Sqflite
前端
lsx2024061 小时前
C 标准库 - `<time.h>`
开发语言