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"

相关推荐
艾莉丝努力练剑8 小时前
【Qt:问题解决】Qt程序入口点错误修复:MinGW ABI兼容问题
java·服务器·开发语言·qt·文件系统·动静态库
Sterting8 小时前
Element-Plus 入门与整体布局
前端·vue.js·elementui
程序员黑豆15 小时前
Java 注释详解:单行、多行与文档注释的完整指南
java·前端·ai编程
剪刀石头布啊15 小时前
antd中可编辑表格中巧用useWatch实现联动高性能效果,以及定制延伸学习
前端
油丶酸萝卜别吃16 小时前
前端转全栈学习路线
前端·学习
浮生望16 小时前
前端路由进阶:History API原理与手写HistoryRouter
前端
wuyk55516 小时前
第2章:六步换相原理全解+STM32工程实战
c语言·开发语言·stm32·单片机·嵌入式硬件
hey_sml16 小时前
JAVA每日一学---CompletableFuture中thenApply与thenCompose区别详解
java·开发语言
陆枫Larry17 小时前
JavaScript 中的竞态是什么,为啥会有竟态?
前端
萧瑟余晖18 小时前
Java深入解析篇十七之SpringCloud
java·开发语言