提问人:neoexpert 提问时间:1/3/2022 最后编辑:Jonas Wilmsneoexpert 更新时间:1/3/2022 访问量:111
ECMAScript 相等:对象类型为 null 吗?
ECMAScript equality: Is null of Type Object?
问:
我正在尝试实现 ES262 中描述的算法,即抽象相等比较算法。它指出:
如果 Type(x) 与 Type(y) 相同,则
一个。如果 Type(x) 为 Undefined,则返回 true。
b.如果 Type(x) 为 Null,则返回 true。
因此,当我们进行比较时:
console.log(null == {})
它的计算结果应为 true,因为 null 和 {} 具有相同的类型。我理解正确吗?
答:
评论
typeof null
存在实际上是一个错误,而不是一个预期的功能。由于向后兼容性问题,没有人修复该错误object
null == { foo: 'bar' }
Type()
在规范中与typeof
不同。 确实有自己的内部类型 Null,只是typeof
也为它返回“object”。
null