为什么15> 10> 5为假?

时间:2018-12-09 19:07:43

标签: javascript

下面的javascript函数输出为false,为什么导致false?

console.log(15 > 10 > 5);

2 个答案:

答案 0 :(得分:3)

因为比较运算符采用两个操作数。因此,首先,您的代码评估15 > 10并返回true,然后执行true > 5并明显返回false

答案 1 :(得分:2)

comparison operators接受两个操作数,并从左到右关联。这意味着表达式15 > 10 > 5被评估为(15 > 10) > 5

15 > 10显然计算为true

true > 5的评估方式并不明显。

幸运的是,JavaScript documentation解释了当值具有不同类型时如何转换它们:

  

如果其中一个操作数是布尔值,则布尔值操作数如果为true,则转换为1,如果为+0,则转换为false

这意味着true > 5的评估方式与1 > 5相同,只是现在结果清楚了:false