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"

相关推荐
喝拿铁写前端3 小时前
别再让 AI 直接写页面了:一种更稳的中后台开发方式
前端·人工智能
A向前奔跑4 小时前
前端实现实现视频播放的方案和面试问题
前端·音视频
代码or搬砖4 小时前
String字符串
android·java·开发语言
十一.3664 小时前
131-133 定时器的应用
前端·javascript·html
leo__5205 小时前
基于两步成像算法的聚束模式SAR MATLAB实现
开发语言·算法·matlab
xhxxx5 小时前
你的 AI 为什么总答非所问?缺的不是智商,是“记忆系统”
前端·langchain·llm
Macbethad6 小时前
自动化测试技术报告
开发语言·lua
3824278276 小时前
python:输出JSON
前端·python·json
不会画画的画师6 小时前
Go开发指南:io/ioutil包应用和迁移指南
开发语言·后端·golang