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"

相关推荐
222you5 分钟前
Java 并发编程(1)
java·开发语言
小小小小宇12 分钟前
富文本编辑器知识体系(一)
前端
C++ 老炮儿的技术栈14 分钟前
Linux 文件系统目录架构全解析
linux·服务器·c语言·开发语言·c++
发现一只大呆瓜24 分钟前
深度拆解 fetch-event-source库实现原理
前端·javascript·面试
2601_9534656127 分钟前
HLS.js 原生开发!m3u8live.cn打造最贴合项目的 M3U8 在线播放器
开发语言·前端·javascript·python·json·ecmascript·前端开发工具
前端Hardy31 分钟前
为什么资深前端都在悄悄学 WebAssembly?
前端·javascript·面试
发现一只大呆瓜32 分钟前
SSE 流式传输:中断超时处理
前端·javascript·面试
szcsun538 分钟前
python中包、模块的层级关系,以及import、from...import...的相关用法
开发语言·python
阿猿收手吧!1 小时前
【C++】高并发内存池架构与设计解析
开发语言·c++·架构
唠玖馆1 小时前
c++ 类和对象(全)
java·开发语言·c++