前瞻
此篇内容并不是关系运算符的全部探索,仅仅是我学习过程中遇到的比较新奇的 point,以此来记录一下。
关系运算符
起因
Object 类型与其他数据类型进行比较时,都会得到 false。
有什么办法将结果变为 true 呢?
奇特的 point
Object 类型与其他数据类型比较
查阅ECMA 文档,第 11.9.3 点的第 8 条原文如下:
If Type(x) is either String or Number and Type(y) is Object,
return the result of the comparison x == ToPrimitive(y).
解决疑惑
如何将有变量为 Object 类型的比较的结果变为 true 呢?
总结
- 严格相等运算符不会进行任何的类型转换
- 使用关系运算符进行比较时,当运算元中出现了 Object 类型时,可以重写其 toPrimitive 函数,修改其返回值为期望值即可