问题描述
|
在很多情况下,JavaScript的类型强制相等运算符不是可传递的。例如,请参阅“ JavaScript相等性传递性很奇怪”。
但是,有没有ѭ0不对称的情况?也就是说,where1ѭ是
true
,b == a
是false
?
解决方法
在Javascript中,
==
总是对称的。
规格说明:
注2:相等运算符
保持以下不变式:
A != B
等于!(A == B)
。
A == B
等同于B == A
,除了按
A and B
。
,它应该是对称的。但是,在某些版本的IE中存在不对称的情况:
window == document; // true
document == window; // false
,实际问题(运算符对称)的答案是肯定的。 ECMA-262规范明确指出:
注2:相等运算符维护以下不变式:
A != B
等于!(A == B)
。
A == B
等同于B == A
,除了按of16ѭ和B
的求值顺序。