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"

相关推荐
利刃大大5 分钟前
【Vue】组件化 && 组件的注册 && App.vue
前端·javascript·vue.js
Whisper_Sy10 分钟前
Flutter for OpenHarmony移动数据使用监管助手App实战 - 周报告实现
开发语言·javascript·网络·flutter·php
Anastasiozzzz13 分钟前
leetcodehot100--最小栈 MinStack
java·javascript·算法
一起养小猫16 分钟前
Flutter for OpenHarmony 实战:按钮类 Widget 完全指南
前端·javascript·flutter
Sylvia-girl16 分钟前
线程的死锁【了解】
java·开发语言·jvm
css趣多多17 分钟前
Vux store实例的模块化管理
前端
Elias不吃糖23 分钟前
java开发的三层架构
java·开发语言·架构
养海绵宝宝的小蜗30 分钟前
Python第二次作业
开发语言·python
郝学胜-神的一滴1 小时前
深入理解Linux套接字(Socket)编程:从原理到实践
linux·服务器·开发语言·网络·c++·程序人生·算法
向前V1 小时前
Flutter for OpenHarmony轻量级开源记事本App实战:笔记编辑器
开发语言·笔记·python·flutter·游戏·开源·编辑器