Есть ли сокращение для присваивания переменной выражению OR? Например, у меня есть кнопка в моем пользовательском интерфейсе, которая отключена в зависимости от состояния некоторых переменных.
this.disableButton = data && data.items.length < 2 && pending;
У меня также есть флажок, который определяет, будет ли указанная кнопка отключена или включена.
Таким образом, кнопка, наконец, отключена/включена на основе выражения, которое выглядит так:
this.disableButton = this.disableButton || !checked
И на моем шаблоне у меня есть что-то вроде:
<component [class.disabled]="disableButton"></component>
Мне было просто любопытно, есть ли способ сократить синтаксис вышеупомянутого выражения. Что-то вроде:
this.disableButton ||= !checked
Спасибо
Было бы проще сразу назначить disableButton
а не сначала назначить промежуточное значение для результата, а затем переназначить позже - это запутывает. Потому что checked
самостоятельно может определить результат, будет ясно, если вы сначала изучите его:
this.disableButton = !checked || (data && data.items.length < 2 && pending);
<component [class.disabled]="disableButton || !checked"></component>
и избегать комбинированияdisableButton
иchecked
. Что касается оператора, см. Этот вопрос .