为什么 5<4<2 返回 true?
Why 5<4<2 is returning true?
我正在练习Javascript。我遇到了一种情况,我正在比较 3 个数字,如下所示:
console.log(5<4<2);
它 returns 是的。现在我不明白为什么。根据运算符优先级,它必须从左到右求值,这意味着 false<2。在这种情况下js做了什么奇怪的事情吗?
这是因为 Operator precedence
。
Less than (<)
运算符从 从左到右计算 .
首先 5<4
被评估为 false
然后 false
在下一次评估中被转换为 0
。最后 0<2
被评估为 true
console.log(5<4);// false
console.log(0<2);// true
我正在练习Javascript。我遇到了一种情况,我正在比较 3 个数字,如下所示:
console.log(5<4<2);
它 returns 是的。现在我不明白为什么。根据运算符优先级,它必须从左到右求值,这意味着 false<2。在这种情况下js做了什么奇怪的事情吗?
这是因为 Operator precedence
。
Less than (<)
运算符从 从左到右计算 .
首先 5<4
被评估为 false
然后 false
在下一次评估中被转换为 0
。最后 0<2
被评估为 true
console.log(5<4);// false
console.log(0<2);// true