首页 > 解决方案 > 缩短简单 if 语句的最佳方法是什么?

问题描述

缩短简单 if 语句的最佳方法是什么?

例如:

if(sum > max){
  max = sum;
}

我正在使用这条线,它工作正常。

sum > max ? max = sum : 0;

奇怪的是,下面的行给了我一个错误:

sum > max || max = sum;

ReferenceError:分配中的左侧无效

>由于 JavaScript 是短路的,因此具有更高的优先级,||我希望它仅在左侧操作数为真时才评估右侧操作数。

标签: javascript

解决方案


对于最后一个

sum > max || max = sum;

您的左侧赋值无效,因为逻辑 OR 的优先级高于赋值。

要使其正常工作,您需要将作业括在括号中。

sum > max || (max = sum);

推荐阅读