【发布时间】:2021-04-21 07:48:45
【问题描述】:
是否适合在三元运算符中更改两个状态,还是最好使用 if-else 语句?
我尝试的一切似乎都遇到了问题。
我尝试过的示例如下所示。
x === y ? () => {setRating(10); setRank(1)} : console.log("Not found")
x === y ? setRating(10); setRank(1) : console.log("Not found")
这个和下面的 if-else 语句有什么区别?
if (x === y) {
setRating(10);
setRank(1);
} else {
console.log("Not found")
}
【问题讨论】:
-
为了便于阅读,我建议您使用
if语句。三元运算符通常用于简单的if-else操作。 -
它必须是单个表达式。您可以使用 逗号运算符,但将其编写为标准 if 语句可能更具可读性。
-
您为什么要这样做?那只会使您的代码不可读...使用 if 语句。
-
简单的规则是,如果你不使用条件运算符的结果,那么就不要使用它。
-
你应该只使用 if 语句,除非你真的想把它放在 1 行
标签: javascript ecmascript-6 conditional-operator use-state