我正在练习Javascript。我遇到一种情况,正在比较3个数字,如下所示:
console.log(5 <4 <2);
它返回true。现在我不明白为什么。按操作员的权限,它必须从左到右进行评估,这表示 false <2 。在这种情况下,js做些奇怪的事吗?
答案 0 :(得分:2)
这是因为Operator precedence
。
Less than (<)
运算符进行评估。
首先将5<4
评估为false
,然后在下一次评估中将false
转换为0
。最终0<2
的评估结果为true
console.log(5<4);// false
console.log(0<2);// true