我有以下代码:
const mult = (a, b) => a * b;
const result = mult(2, 3) + mult(4, 5);
const result1 = 6 + mult(4, 5);
const result2 = 6 + 20;
console.log(result);
console.log(result1);
console.log(result2);
console.log(result === result1 === result2);
当result === result1 === result2
为true而result1 === result2
为true时,表达式result1 === result2
等同于false。
有人能解释原因吗?
发布于 2015-07-02 06:30:49
它从左到右被解决,解析为:
(result === result1) === result2;
true === result2;
例如,如果失败了:
1 === 1 === 1
这是由于===运算符没有完成类型转换。下列决定为真!
1 == 1 == 1
发布于 2015-07-02 06:29:32
我想它是用链子来评估它们的。
首先,result === result1
计算为true,然后计算可能为false的true === result2
。
https://stackoverflow.com/questions/31176978
复制相似问题