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"

相关推荐
Jagger_34 分钟前
周末和AI肝了两天,终于知道:为什么要把AI当做实习生
前端
weixin_4561648336 分钟前
vue3 子组件向父组件传参
前端·vue.js
Mr_Xuhhh36 分钟前
Java泛型进阶:从基础到高级特性完全指南
开发语言·windows·python
沉鱼.4440 分钟前
第十二届题目
java·前端·算法
Setsuna_F_Seiei1 小时前
CocosCreator 游戏开发 - 多维度状态机架构设计与实现
前端·cocos creator·游戏开发
He1955011 小时前
wordpress搭建块
开发语言·wordpress·古腾堡·wordpress块
Bigger1 小时前
CodeWalkers:让 AI 助手化身桌面宠物,陪你敲代码的赛博伙伴!
前端·app·ai编程
老天文学家了1 小时前
蓝桥杯备战Python
开发语言·python
赫瑞1 小时前
数据结构中的排列组合 —— Java实现
java·开发语言·数据结构
初夏睡觉2 小时前
c++1.3(变量与常量,简单数学运算详解),草稿公放
开发语言·c++