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"

相关推荐
慕木沐4 分钟前
Google ADK Java 1.0版本 核心机制与实战 Demo
java·开发语言·python
Roann_seo%9 分钟前
C++文件操作完全指南:从文本读写到二进制文件处理
开发语言·c++
甲维斯28 分钟前
Kimi版超级玛丽效果“惊人”,配额不足5厘米!
前端·人工智能
hboot34 分钟前
AI工程师第一课 - Python
前端·后端·python
凉菜凉凉35 分钟前
AI时代,被抛弃的前端
前端·ai
console.log('npc')1 小时前
AI前端工程与生成式UI学习路线
前端·人工智能·ui
huangdong_1 小时前
淘宝商品SKU图自动分类技术深度解析:从DOM解析到智能归档
开发语言·javascript·ecmascript
梦曦i1 小时前
uni-router v1.1.1发布:守卫超时保护+路由监听
前端·uni-app
阿正的梦工坊1 小时前
【Rust】12-借用检查器与非词法生命周期
开发语言·后端·rust
qq_2518364571 小时前
基于java Web网络订餐系统设计与实现 源码文档
java·开发语言·前端