javascript空值-它是一个对象吗
javascript null value - is it an object
我在分析javascript数据类型时发现了一些非常奇怪的东西:
> typeof null
"object"
> null instanceof Object
false
目前我不知道该怎么解释。我认为所有有typeof === "object"
的东西在其原型链中都会有Object.prototype
。如果null
不是object
,那么为什么typeof
会返回呢?
PS有人已经给我写了欢迎来到javascript的古怪世界;)
这有历史原因:
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/typeof#null
typeof null==='对象';//这是从JavaScript开始的在JavaScript的第一个实现中,JavaScript值表示为类型标记和值。对象的类型标记为0。null被表示为null指针(0x00是大多数平台)。因此,null的类型标记为0,因此返回值为伪typeof。(需要参考)
有人提议(通过选择加入)对ECMAScript进行修复,但被拒绝了。它会导致typeof null=="null"。
相关文章:
- Javascript(Angular)从一个对象数组到第二个数组查找值
- javascript函数,它接受两个输入:一个对象和一个键,并返回对象中该键的相应值
- 将javascript对象(属性+值)合并到一个对象中
- 尝试在一个对象的值和一个对象数组之间进行匹配
- 将键/值数组中的对象与另一个对象(键/值)进行比较
- 如何从另一个对象的值访问一个 JavaScript 对象
- 两个具有相同值的对象,计算和更改一个对象的值.第二个也具有新的价值
- 另一个对象的值作为 Javascript 中另一个关联数组中的值
- 按一个对象的值对对象数组进行排序
- 基于另一个对象键/值存储对象值
- 一个有角度的对象如何获得另一个对象的值
- javascript空值-它是一个对象吗
- 如何在Typescript中把一个空对象赋值给一个对象
- 比较两个对象以覆盖其中一个对象的值
- 访问一个嵌套在一个带有聚合物的对象中的数组中的一个对象的值
- 如何修复TypeError: 'null'不是一个对象(求值'e.parentNode'
- Angular-route: TypeError: undefined不是一个对象(求值'angular.mod
- 如何计算一个对象的值
- 使用钥匙&对象中的值作为另一个对象的值
- 根据另一个值数组过滤一个对象数组,返回一个空列表