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"

相关推荐
夏幻灵13 分钟前
【Java进阶】面向对象编程第一站:深入理解类、对象与封装前言
java·开发语言
毕设源码-朱学姐13 分钟前
【开题答辩全过程】以 基于Web的餐饮管理系统的设计为例,包含答辩的问题和答案
前端
nsjqj14 分钟前
JavaEE初阶:多线程(1)
java·开发语言·jvm
MoonPointer-Byte15 分钟前
[特殊字符]The Omniscient Tome | 全知之书
javascript·html5
wjs202428 分钟前
Bootstrap5 表单验证
开发语言
带土131 分钟前
9. Qt Lambda
开发语言·qt
编程饭碗33 分钟前
【Java 类的完整组成】
java·开发语言·python
DLite1 小时前
Python静态类型设计:语法割裂的槽点
开发语言·python
leiming61 小时前
c++ set容器
开发语言·c++·算法
fanruitian2 小时前
visualstudio code cline使用mcp amap
java·前端·visual studio