偶然见看到的一个关于类型转换的题目:
对象 ab 是两个字面量函数,在进行比较的时候,可以发现大小和相等的比较结果都是 false
var a = {b: 42};
var b = {b: 43};
a < b; //false
a == b; //false
a > b; //false
a <= b; //true
a >= b; //true
在这个过程之,a 和 b 比较的时候,到底比较的是什么?为什么 <=> 三个运算符都是 false。?
为什么 a<=b
是 true?
a<=b == true
是因为 JS 计算的是 !(a>b)
吗?
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…