美文网首页前端开发那些事儿
typeof null // "object" 咋回事?

typeof null // "object" 咋回事?

作者: 跟屁虫丶 | 来源:发表于2020-01-10 00:34 被阅读0次

    为什么对于基本类型的null 却返回了object呢

    对于 null 来说,虽然它是基本类型,但是会显示 object,这是一个存在很久了的 Bug

    typeof null // 'object'

    1

    js的bug ??? 究竟是什么样的bug ?为什么会出现这种情况呢?

    因为在 JS 的最初版本中,使用的是 32 位系统,为了性能考虑使用低位存储了变量的类型信息,000 开头代表是对象,然而 null 表示为全零,所以将它错误的判断为 object 。虽然现在的内部类型判断代码已经改变了,但是对于这个 Bug 却是一直流传下来。

    为了避免这种问题,我们可以通过 Object.prototype.toString.call(xx)进行判断类型

    ps: 好吧,之前还以为是null的存储决定的呢,以为null 和 object的值一样都是存储在堆内存中的,所以也是一样的,原来是一个大bug!!!

    原文链接:https://blog.csdn.net/qq_41969216/article/details/89966801

    相关文章

      网友评论

        本文标题:typeof null // "object" 咋回事?

        本文链接:https://www.haomeiwen.com/subject/ylauactx.html