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"

相关推荐
再吃一根胡萝卜6 分钟前
不改一行官方源码:用一个插件把 DeepSeek Harness 换成「平安one」
前端
西安小哥9 分钟前
做 Agent 写到第三个小时,我开始给它算账
javascript
西安小哥17 分钟前
让大模型操作浏览器跑了两周,我发现瓶颈根本不在模型
javascript
涛涛ing20 分钟前
2026年,你选的不再是框架,是渲染模型
前端
AiMan25 分钟前
Perplexity还是不可导出左侧所有对话,只能单条内容,方法不对吗
前端
用户2986985301432 分钟前
用 Python 自动化把 JavaScript 代码转换为 Word 文档
javascript·python·api
学以智用36 分钟前
正则表达式完整参考手册(JavaScript 版,兼容绝大多数语言)
javascript
AiMan42 分钟前
千问生成的内容能否下载吗?
前端
北城笑笑43 分钟前
Vue 109 ,从零搭建 Vue3 + Electron 工程:生态、安全桥接与打包选型( Vue + Electron )
前端·javascript·vue.js·安全·electron·vue
JarvanMo1 小时前
Flutter 3.50 & Dart 3.14发布,一起看看有哪些变化!
前端