javascript - 缩短简单 if 语句的最佳方法是什么?
问题描述
缩短简单 if 语句的最佳方法是什么?
例如:
if(sum > max){
max = sum;
}
我正在使用这条线,它工作正常。
sum > max ? max = sum : 0;
奇怪的是,下面的行给了我一个错误:
sum > max || max = sum;
ReferenceError:分配中的左侧无效
>
由于 JavaScript 是短路的,因此具有更高的优先级,||
我希望它仅在左侧操作数为真时才评估右侧操作数。
解决方案
对于最后一个
sum > max || max = sum;
您的左侧赋值无效,因为逻辑 OR 的优先级高于赋值。
要使其正常工作,您需要将作业括在括号中。
sum > max || (max = sum);
推荐阅读
- java - 如何验证 Spring MVC 中数字字段中的非数字输入?
- android - local_auth: MainActivity.kt: (11, 48): 类型不匹配:推断类型是 FlutterEngine 但 PluginRegistry!预计
- python - 如何用另一种类型的值覆盖 C# 中的变量?
- c# - 如何将数据传递给泛型?
- android - 单击按钮验证不起作用
- vue.js - Vue Cool Lightbox - TypeError:无法读取未定义的属性“匹配”
- python - 在python中将数据转换为DataFrame
- reactjs - Next.js + Taboola 像素
- amazon-web-services - Dynamodb 更新多个数据
- python - 如何在python中存储下一个周期的迭代值