为什么typeof null是object呢?
typeof null输出object,是JS存在的一个悠久的bug.
原因在于JS初始版本使用的是32位系统,为了性能考虑使用低位存储变量的类型信息,而000开头代表的是对象,null表示全零,所以对象的类型被误判为object.虽然现在的内部类型判断代码已经改变了,但是对于这个Bug缺一直流传下来了
typeof null输出object,是JS存在的一个悠久的bug.
原因在于JS初始版本使用的是32位系统,为了性能考虑使用低位存储变量的类型信息,而000开头代表的是对象,null表示全零,所以对象的类型被误判为object.虽然现在的内部类型判断代码已经改变了,但是对于这个Bug缺一直流传下来了