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"

相关推荐
小码哥_常7 小时前
一套自己部署的 IM,客户端是同一份 Flutter
前端·后端
蜗牛攻城狮9 小时前
微前端四大方案选型对比与最佳实践:qiankun、micro-app、wujie、Module Federation
前端·微前端·qiankun·前端架构·micro-app·wujie
C^h10 小时前
c++ string
开发语言·c++
raindayinrain10 小时前
c++高性能--原子操作,无锁编程,操作顺序
开发语言·c++·性能优化
学逆向的11 小时前
C++ 合并命名空间
开发语言·c++·网络安全
Zhao-Jichao11 小时前
VS2026 打包 C++ 程序生成 EXE,借助 Installer Project 扩展工具
开发语言·c++
她说可以呀11 小时前
Vue插槽
前端·javascript·vue.js
qq_4480111611 小时前
Vue + Jinja2两套模版与法冲突造成undefinedError
前端·javascript·vue.js
aixingpan11 小时前
aixingpan.cn API开发文档:前端查询夏令时和时区接口指南
前端·php
学逆向的11 小时前
C 局部静态变量
c语言·开发语言·网络安全