||=的写法作用
- 介绍
- 解释
- 总结
介绍
||= 是一种逻辑赋值操作符(logical assignment operator)
,它是 JavaScript 中的一种简写方式,结合了逻辑运算符 ||(逻辑或)和赋值操作符 =。它的作用是:
• 如果左侧的变量(foundImprovement)是 falsy(即 false, 0, "", null, undefined 或 NaN)
,则将右侧的表达式的结果赋给左侧变量。
• 如果左侧的变量是 truthy,则保持原值,不做任何改变。
具体例子:
foundImprovement ||= isValidEvaluationType(evalOutput) && evalOutput.includes('improvement');
这行代码等价于:
if (!foundImprovement) {foundImprovement = isValidEvaluationType(evalOutput) && evalOutput.includes('improvement');
}
解释
- 如果 foundImprovement 已经是一个 truthy 值(例如 true),那么这个表达式不会修改 foundImprovement。
- 如果 foundImprovement 是 falsy(例如 false 或 undefined),那么就会计算右边的表达式(isValidEvaluationType(evalOutput) && evalOutput.includes(‘improvement’)),并将其结果赋值给 foundImprovement。
总结
||= 是一个简写的赋值运算符,用来仅在左边的变量为 falsy 时才赋新值。