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"

相关推荐
BD_Marathon3 分钟前
Vue3_Vite构建工程化前端项目
前端
武清伯MVP5 分钟前
CSS Grid布局全解析:从基础到实战的二维布局方案
前端·css·grid
xfq10 分钟前
typescript泛型枚举以及NaN传染处理
前端·typescript
ErMao10 分钟前
开始搭建第一个React项目吧~
前端·react.js
郑州光合科技余经理11 分钟前
实战:攻克海外版同城生活服务平台开发五大挑战
java·开发语言·javascript·数据库·git·php·生活
长孙阮柯14 分钟前
Java进阶篇(五)
java·开发语言
Yanni4Night20 分钟前
JavaScript打包器大奖赛:谁是构建速度之王? 🚀
前端·javascript
⑩-30 分钟前
Blocked与Wati的区别
java·开发语言
SakuraOnTheWay31 分钟前
解构 JavaScript 迭代器:一行代码引发的性能思考
javascript·性能优化
默海笑34 分钟前
VUE后台管理系统:项目架构之搭建Layout架构解决方案与实现
前端·javascript·vue.js