前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >前端冷知识(01):JS里的null是什么类型?

前端冷知识(01):JS里的null是什么类型?

作者头像
沐洒
发布2023-07-05 17:01:39
2860
发布2023-07-05 17:01:39
举报
文章被收录于专栏:沐洒沐洒

Musa

问:因为typeof null === object,所以null是对象?

答:不是。null是Javascript里的一种基本类型,其它几种基本类型还有:string,number,boolean,undefined。而object是引用类型,也称为对象类型。

在Javascript中,不同的数据类型在底层都表示为二进制,比如:

000 - 对象,数据是对象的引用 1 - 整型,数据是31位带符号整数 010 - 双精度类型,数据是双精度数字 100 - 字符串,数据是字符串 110 - 布尔类型,数据是布尔值

二进制的前三位为0会被 typeof 判定为object类型。

而null是一个空值,其二进制表示全是0,自然前三位也是000,所以执行typeof的时候会返回object,产生假象。

若要拿到真实的数据类型,可以使用:Object.prototype.toString.call

所以说,typeof null === object 原来是个语言本身的Bug。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2023-03-12,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 沐洒 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档