“cond&& {...}”和“if(cond){...}”之间是否存在技术差异?

时间:2013-12-01 19:43:45

标签: if-statement conditional-statements

有时当我正在阅读其他人的代码(特别是PHP,但这个问题涉及所有编程语言)时,我会看到如下内容:

some_bool_value && return = some_function()

经过一番思考后,我意识到他们正在使用它代替:

if(some_bool_value){ return = some_function() }

这种替代方法是否有任何程序上的好处,或者只是简写/偏好?

1 个答案:

答案 0 :(得分:3)

这是程序员的简写。在这种情况下,它被称为短路评估(如果&&的左侧评估为真/非零,则评估右侧。否则,不评估右侧)。

这种类型的东西属于程序员或团队的个人偏好和风格,并且在任何实际意义上都与效率无关。