7.2.10 SameValueZero ( x, y )
内部比较抽象操作 SameValueZero(x,y),其中 x 和 y 是 ECMAScript 语言值,生成 true 或 false。 这种比较如下进行:
- 如果 Type(x) 不同于 Type(y),返回 false。
- 如果 Type(x) 为 Number 类型,那么
a. 如果 x 为 NaN 并且 y 也是 NaN,则返回 true。 b. 如果 x 是 +0 并且 y is -0,那么返回 true。
c. 如果 x 为 -0 并且 y 为 +0,则返回 true。
d. 如果 x 和 y 有相同的 Number 值,则返回 true。
e. 否则返回 false。
3.返回 SameValueNonNumber(x, y)。
注意:SameValueZero 只有在处理 +0 和 -0 时与 SameValue不同。