等式检查超过1 var

时间:2015-07-02 06:27:11

标签: javascript

我有以下代码:

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。

任何人都可以解释原因吗?

2 个答案:

答案 0 :(得分:2)

从左到右解决,解析为:

(result === result1) === result2;
true === result2;

例如,事件会失败:

1 === 1 === 1

这是由于===运算符未进行类型转换。以下解析为真!

1 == 1 == 1

答案 1 :(得分:1)

我认为它会在链中评估它们。

首先result === result1计算结果为true,然后评估true === result2,这可能是假的。