typeof null 为什么输出 object
typeof null 为什么输出 object;为什么 null instanceof object 输出false
typeof null 为什么输出 object
到目前为止,JavaScript 总共出了八种数据类型:undefined、string、symbol、null、number、boolean、bigInt、object
除了 null,typeof 操作符对于以上的都能准确输出,甚至还能输出具体的 'function'
对于这个问题,可以追溯到 JavaScript 的第一个版本。
它的设计是把数据存储在 32 位的二进制存储单元中。而这 32 位又划分为:实际数据+类型标签(位于低三位,即从低位开始的三位)
-
当低三位为 000 时,被typeof 判断为 'object'
-
当低三位为 001 时,被typeof 判断为 'number'(整数)
-
当低三位为 010 时,被typeof 判断为 'number'(浮点数)
-
当低三位为 100 时,被typeof 判断为 'string'
-
当低三位为 110 时,被typeof 判断为 'boolean'
为什么 null instanceof object 输出false
答:因为null 并不是 Object 的实例
参考文章:
https://blog.51cto.com/u_15182950/2736166
这一路,灯火通明
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 25岁的心里话
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现
2021-07-30 希尔排序