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"

相关推荐
FinClip几秒前
凡泰极客FinClip荣获2025中国企业IT大奖!AI+超级APP重塑企业AI服务
前端·架构·openai
小酒星小杜7 分钟前
在AI时代下,技术人应该学会构建自己的反Demo地狱系统
前端·vue.js·ai编程
willingli9 分钟前
c语言经典100题 61-70题
c语言·开发语言·算法
我是小疯子6614 分钟前
深入解析C++右值引用与移动语义
java·开发语言·算法
Ethan Wilson16 分钟前
VS2019 C++20 模块相关 C1001: 内部编译器错误
开发语言·c++·c++20
郝学胜-神的一滴19 分钟前
Python数据封装与私有属性:保护你的数据安全
linux·服务器·开发语言·python·程序人生
悟能不能悟21 分钟前
Elastic Stack 中两种主要查询语言 KQL (Kibana Query Language) 和 Lucene 的详细对比和解释。
java·开发语言
kirito707727 分钟前
前端项目架构(基于 monorepo)
前端
去哪儿技术沙龙32 分钟前
Qunar酒店搜索排序模型的演进
前端·架构·操作系统
重铸码农荣光32 分钟前
TypeScript:JavaScript 的“防坑装甲”,写代码不再靠玄学!
前端·react.js·typescript