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"

相关推荐
程序员黑豆8 小时前
鸿蒙应用开发:V1与V2版本数据持久化实战教程
前端·harmonyos
小月土星12 小时前
React Router 前端路由深度解析:从传统后端路由到现代 SPA 的完整演进
前端
程序员黑豆12 小时前
鸿蒙开发 Navigation 路由教程:从入门到实战
前端·harmonyos
weixin_4407841113 小时前
【HandlerThread实现原理】
android·java·开发语言
天空'之城13 小时前
C 语言工业级通用组件手写 24:互补滤波
c语言·开发语言·互补滤波·嵌入式算法·工业级组件
XR12345678813 小时前
工厂车间无线网络方案对比:AGV漫游哪家强?
开发语言·php
傻啦嘿哟13 小时前
某短视频平台视频爬虫实战:抓取推荐流视频信息,绕过反爬的3种技巧
开发语言·爬虫·python
烬羽14 小时前
React Router v7 完全指南:一个 Demo 吃透前端路由
javascript·react.js·前端框架
現実君14 小时前
【硬件进阶】AD22上位替换JLEDA教程
开发语言·php
烬羽14 小时前
从"整个页面刷新"到"丝滑切换":手写一个 HashRouter 彻底搞懂前端路由
javascript·前端框架·全栈