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"

相关推荐
csbysj2020几秒前
Eclipse 视图(View)详解
开发语言
Embrace9245 分钟前
钉钉工作台内嵌应用=》调用钉钉对话框
前端·javascript·钉钉
蜡台9 分钟前
Vue2 elementui2 中 el-switch 实现先判断改变状态
前端·vue.js·elementui·el-switch
whuhewei9 分钟前
CSS动画倍速播放
前端·css
zhangzeyuaaa9 分钟前
# Python 抽象类(Abstract Class)
开发语言·python
墨^O^10 分钟前
并发控制策略与分布式数据重排:锁机制、Redis 分片与 Spark Shuffle 简析
java·开发语言·c++·学习·spark
不被定义的~wolf11 分钟前
qt小游戏——坦克大作战
开发语言·qt
周不凢12 分钟前
elementui 表格行选择:通过 toggleRowSelection 方法控制表格行的选中状态
前端·javascript·elementui
黄林晴13 分钟前
Swift 杀进 Android,Google 和 Apple 都要失眠了?
android·前端·swift
一晌小贪欢16 分钟前
Web 自动化指南:如何用 Python 和 Selenium 解放双手
开发语言·前端·图像处理·python·自动化·python办公