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"

相关推荐
浅碎时光8071 分钟前
Qt (按钮/显示/输入/容器类控件 布局管理器)
开发语言·qt
bubiyoushang88811 分钟前
OFDM系统信道估计MATLAB实现(LS、MMSE、DCT、LRMMSE方法)
开发语言·网络·matlab
Felven19 分钟前
C. Dora and Search
c语言·开发语言
John Song2 小时前
Python创建虚拟环境的方式对比与区别?
开发语言·python
搞程序的心海2 小时前
Python面试题(一):5个最常见的Python基础问题
开发语言·python
Rsun045519 小时前
React相关面试题
前端·react.js·前端框架
Lao乾妈官方认证唯一女友:D9 小时前
通过plasmo的wallet扩展添加新钱包
javascript·web3·区块链
MediaTea9 小时前
Python:collections.Counter 常用函数及应用
开发语言·python
ALKAOUA9 小时前
力扣面试150题刷题分享
javascript·笔记