typeof null是object可不是因为null是对象

发布时间 2023-11-09 09:43:43作者: 龙陌

typeof null是object可不是因为null是对象,这个现象出现的原因是js在设计的时候出现的问题,
在js底层存储是以二进制形式存放的,而typeof的检测机制是检测存储二进制的前几位是什么,
对象都是二进制形式存放是以000开头,而null则是000000,所以在匹配null是才会返回object,这是当初设计的缺陷而不能说null是对象

null是个特殊例子,不算对象

虽然typeof null是object,但是null不是归到基本数据类型了吗,单独的一个null类型,所以null应该不算是一个对象,是JavaScript底层的设计问题