以下两个片段之间是否存在任何差异,或者是否有任何理由使用其中一个?
if (foo) {
bar();
}
Run Code Online (Sandbox Code Playgroud)
foo && bar();
Run Code Online (Sandbox Code Playgroud)
Bou*_*uke 12
第二种形式称为短路评估,其结果与第一种形式完全相同.但是,第一种形式更具可读性,应该是可维护性的首选.
这种类型的短路评估经常出现在if语句中,其中右手是有条件评估的.见下面的例子; 只有当foo的计算结果为true时,才会计算bar.
if (foo && bar()) {
// ...
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1138 次 |
| 最近记录: |