JS –三元运算符,可避免在条件中过度链接。可能吗?

时间:2018-09-04 12:36:49

标签: javascript ternary-operator code-duplication method-chaining

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

上面的代码有效,但是DOM变量和classList被显式键入两次。有什么方法可以使用三元数将链中的不同部分放入各自的true / false子句中?

我在想类似的东西:

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

非常感谢您的投入。

1 个答案:

答案 0 :(得分:8)

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

不过更好:

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

请参见https://developer.mozilla.org/en-US/docs/Web/API/Element/classList#Methods