我有以下代码:
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
为真且result === result1
为真时,表达式result1 === result2
等于false。
任何人都可以解释原因吗?
答案 0 :(得分:2)
从左到右解决,解析为:
(result === result1) === result2;
true === result2;
例如,事件会失败:
1 === 1 === 1
这是由于===运算符未进行类型转换。以下解析为真!
1 == 1 == 1
答案 1 :(得分:1)
我认为它会在链中评估它们。
首先result === result1
计算结果为true,然后评估true === result2
,这可能是假的。