代码之家  ›  专栏  ›  技术社区  ›  User 5842

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

  •  1
  • User 5842  · 技术社区  · 8 年前

    是否有将变量赋值给OR表达式的速记?例如,我的UI上有一个按钮,该按钮根据某些变量的状态被禁用。

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

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

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

    this.disableButton = this.disableButton || !checked

    在我的模板上,我有如下内容:

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

    我只是想知道是否有办法缩短上述表达式的语法。类似于:

    this.disableButton ||= !checked

    谢谢

    1 回复  |  直到 8 年前
        1
  •  2
  •   CertainPerformance    8 年前

    分配给 disableButton 而不是先给结果分配一个中间值,然后再重新分配-这很混乱。因为 checked 只有自己才能决定结果,如果你先检查一下,结果会最清楚:

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