【发布时间】:2019-04-05 08:49:31
【问题描述】:
如果我尝试使用三等号比较 javascript 中的两个对象,
object1 === object2
它检查了类型和值。
我的问题是,先测试哪一个?类型还是值?
【问题讨论】:
标签: javascript compare equals-operator
如果我尝试使用三等号比较 javascript 中的两个对象,
object1 === object2
它检查了类型和值。
我的问题是,先测试哪一个?类型还是值?
【问题讨论】:
标签: javascript compare equals-operator
先检查类型:
https://www.ecma-international.org/ecma-262/6.0/#sec-strict-equality-comparison
7.2.13 严格等式比较
比较 x === y,其中 x 和 y 是值,产生真或假。这样的比较是这样进行的:
- 如果 Type(x) 与 Type(y) 不同,则返回 false。
毕竟,如果你事先不知道两个变量的类型是什么,那么在没有强制的情况下比较它们的“值”会有点棘手(当然这是=== 禁止的)。
【讨论】: