基于OR表达式的变量赋值的简写

时间:2018-04-27 01:29:23

标签: javascript angular logical-operators

是否有将变量赋值给OR表达式的简写?例如,我的UI上有一个禁用的按钮,具体取决于某些变量的状态。

this.disableButton = data && data.items.length < 2 && pending;

我还有一个复选框,用于确定是否禁用或启用所述按钮。

因此,最终根据如下表达式禁用/启用按钮:

this.disableButton = this.disableButton || !checked

在我的模板上,我有类似的东西:

<component [class.disabled]="disableButton"></component>

我很好奇是否有办法缩短上述表达式的语法。类似的东西:

this.disableButton ||= !checked

由于

1 个答案:

答案 0 :(得分:2)

A一次性分配给disableButton而不是先为结果分配中间值然后再重新分配 - 这会更加直接 - 这会让人感到困惑。因为checked单独可以确定结果,所以如果你先检查它,它会是最清晰的:

this.disableButton = !checked || (data && data.items.length < 2 && pending);