在JavaScript中为什么typeofnull的结果是object?
这是⼀个历史遗留下来的 feature(or bug?),The history of “typeof null”
typeof null→"object" ?
在JavaScript中,typeof null是'object',它不正确地表明null是⼀个对象,这是⼀个错误,不幸的是⽆法修复,因为它会破坏现有的代码。我们来探讨这个bug的历史
bug的历史。
typeof array《你不知道的Javascript》译者:
不知道⼤家有没有理解,我举个⾮常不恰当的例⼦。
假设
假设所有的Javascript对象都是16位的,也就是有16个0或1组成的序列。
基于上⾯的假设,我们猜想:
使⽤typeof检测[]和null的结果为:
注意:
为什么Array的前三位不是100?
这是因为⼆进制中的"前"⼀般来说代表的是低位,⽐如⼆进制00000011对应⼗进制数是3,它的前三位是011。