在js中,typeof null的结果为什么是object?不是应该为null吗?
其实,结果之所以是object,这是个历史遗留的bug。
第一版的JavaScript是用32位来存储值的,且通过值的低1位或3位来识别类型。
①1:整型(int)
②000:引用类型(object)
③010:双精度浮点型(double)
④100:字符串(string)
⑤110:布尔型(boolean)
null的二进制表示是全0,自然低三位是000,因此执行typeof的时候会返回object。
朱绪2017-10-312579JavaScript
在js中,typeof null的结果为什么是object?不是应该为null吗?
其实,结果之所以是object,这是个历史遗留的bug。
第一版的JavaScript是用32位来存储值的,且通过值的低1位或3位来识别类型。
①1:整型(int)
②000:引用类型(object)
③010:双精度浮点型(double)
④100:字符串(string)
⑤110:布尔型(boolean)
null的二进制表示是全0,自然低三位是000,因此执行typeof的时候会返回object。
上一篇:js中有哪些数据类型?
下一篇:一个网站的定位究竟有多重要?