7.2.11 SameValueNonNumber ( x, y )
内部比较抽象操作 SameValueNonNumber(x,y),其中 x 和 y 都不是 Number 值时,生成 true 或 false。 这种比较如下进行:
- 断言:Type(x) 不是 Number 类型。
- 断言:Type(x) 和 Type(y) 相同。
- 如果 Type(x) 为 Undefined,则返回 true。
- 如果 Type(x) 为 Null,则返回 true。
- 如果 Type(x) 为 String 类型,那么
a. 如果 x 和 y 是完全相同的代码单元序列(在相应索引处具有相同的长度和相同的代码单元),则返回 true;否则返回 false。 6.如果 Type(x) 为 Boolean 类型,那么
a. 如果 x 和 y 同为 true 或同为 false,返回 true;否则,返回 false。
7.如果 Type(x) 为 Symbol 类型,那么
a. 如果 x 和 y 都为相同的 Symbol 值,那么返回 true; 否则 false。
8.如果 x 和 y 为相同的 Object 值,则返回 true。 否则,返回 false。