JS - Тернарный оператор, чтобы избежать чрезмерного сцепления в условном выражении. Является ли это возможным? - PullRequest
0 голосов
/ 04 сентября 2018
condition ?
    domElement.classList.add('show') :
    domElement.classList.remove('show');

Приведенный выше код работает, но DOM-переменная и classList явно вводятся дважды. Можно ли каким-либо образом использовать троичную фигуру, чтобы поместить дифференцирующие части цепи только в соответствующие условия «истина / ложь»?

Я думаю что-то вроде:

domElement.classList condition ? .add('show') : .remove('show');

Любой и все входные с благодарностью.

1 Ответ

0 голосов
/ 04 сентября 2018
domElement.classList[condition ? 'add' : 'remove']('show')

Лучше, хотя:

domElement.classList.toggle('show', condition)

См. https://developer.mozilla.org/en-US/docs/Web/API/Element/classList#Methods.

...