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"

相关推荐
Richard.Wong3 小时前
qt生成dll供C#调用
开发语言·qt
我要两颗404西柚3 小时前
Stage three:VUE工程化与实战工具
前端·javascript·vue.js
光影少年3 小时前
RN 的EventEmitter 双向通信
前端·react native·react.js
Immortal__y3 小时前
php函数
开发语言·php
AI砖家3 小时前
多商户多租户系统架构设计文档(Java版)
java·开发语言·系统架构·多租户·多商户
布鲁飞丝3 小时前
从零实现富文本编辑器#-浏览器选区与编辑器选区模型同步
java·前端·编辑器
写不来代码的草莓熊4 小时前
Cesium 地图交互绘制圆形、多边形
前端·javascript·地图
weixin_427771614 小时前
前端版本检测
前端
鱼子星_4 小时前
【C++】深入剖析list:list及其双向迭代器实现
开发语言·数据结构·c++·笔记·stl·list
脚踏实地皮皮晨4 小时前
003002004_WPF Panel 基类 官方类定义
开发语言·windows·算法·c#·wpf·visual studio