我知道何时应该使用&&
和||
运算符来加入条件,但我想知道它们是如何工作的。例如,让我们来看看这个案例:
2&&3&&5 //returns 5
2||3||5 //returns 2
似乎&&
运算符计算每个操作数以确定它是假的还是真的。如果它评估为真实,则它向右移动并再次评估表达式。以这种方式,它返回第一个被评估为falsy的表达式,或者返回被评估为truthy的最后一个表达式。
||
运算符存在一些相同的逻辑,但只是以相反的顺序存在。它返回第一个被评估为truthy的表达式,或者返回被评估为falsy的最后一个表达式。我的逻辑是否正确?
答案 0 :(得分:1)
根据此Wikipedia article,Javascript对&&
和||
运算符使用短路评估,这意味着首先评估左操作数;只有在相应操作的结果需要其值时,才会评估右操作数。