Я хотел бы переназначить переменную класса в Javascript (или Typescript) с помощью тернарного оператора. Переназначение this.foo зависит от текущего значения this.foo, которое я могу обновить следующим образом:
setFoo = () => {
this.foo = this.foo ? "" : "foo";
}
Однако мне интересно, могу ли я переназначить this.foo, не написав this.foo дважды. Это было бы полезно, потому что я пытаюсь динамически обновлять классы компонента Angular (написанного на Typescript).
Я хотел бы иметь возможность написать что-то вроде следующего, в котором используются истинные/ложные значения. Если this.foo соответствует действительности, то присваивается ""; в противном случае присваивается "foo":
setFoo = () => {
this.foo =? "" : "foo";
}
Пробовал искать похожие вопросы, но ответа не нашел. Моей первоначальной мыслью было использовать оператор ??= в Typescript 4.0, но я не думаю, что это сработает. Возможно, моего идеального решения не существует, потому что это может быть плохой привычкой программирования. Спасибо