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"

相关推荐
汐泽学园2 小时前
基于Vue的幼儿绘本阅读启蒙网站设计与实现
前端·javascript·vue.js
mikan2 小时前
详解把老旧的vue2+vue-cli+node-sass项目升级为vite
前端·javascript
2201_757830872 小时前
AOP入门程序
java·开发语言
七宝三叔2 小时前
C# 上位机开发中的动态绑定与虚拟化
前端
笃行客从不躺平2 小时前
ThreadLocal 复习一
java·开发语言
安卓程序员_谢伟光2 小时前
如何监听System.exit(0)的调用栈
java·服务器·前端
yangSnowy2 小时前
PHP的运行模式
开发语言·php
无限进步_3 小时前
【C语言】用队列实现栈:数据结构转换的巧妙设计
c语言·开发语言·数据结构·c++·链表·visual studio
weixin_579599663 小时前
编写一个程序,输入两个数字的加减乘除余数(Python版)
开发语言·python
CYTElena3 小时前
JAVA关于集合的笔记
java·开发语言·笔记