15
社区成员




javaScript在设计之初,使用了32位系统。为了优化性能,javaScript的值被存储为二进制数据,低位用来表示数据的类型。对象的类型标识符是000,而null被认为是一个空指针(也就是零地址),它的二级制表示全是0,也就是00 00 00 00.由于null的二进制表示和对象的类型标识相同,typeof null结果就被错误的设置为“object”尽管这个错误很早就被发现,但为了保持向后兼容性,修复这个错误会导致大量的现有代码出错。因此,这个行为就被保留了下来。
let value = null;
console.log(value === null); // 输出: true