我可以在三元运算符语法的语句中只使用 if
和 else
还是可以以某种方式包含 else if
?
例子:
if(a) {
x
}
else if(y) {
c
}
else {
b
}
最佳答案
与带有可选 if
或可选 else
分支的 else if
不同,三元运算符有两个且只有两个分支。
它实际上是名称的一部分。其中 +
中的 a + b
是一个二元运算符,即它有两个 operands 、 ?
有三个,因为 0x2313 和 1 的 term 是 3 和 3 的。从技术上讲,除了 a ? b : c
之外,可能还有其他三元运算符,但在大多数语言中它们不存在,因此通常可以理解,名称“三元”表示 ?
运算符。
如果您对第二个子句进行子分支处理,您可以拥有 ?
之类的功能:
a ? b : (c ? d : e)
这通常是个坏主意 因为三元操作一开始可能很困惑,像这样的分层通常是通往不可维护代码的捷径。最好这样写:
if (a) {
b
}
else if (c) {
{
d
}
else {
e
}
这更冗长,但非常清楚。如果你过于激进地使用三元组,你最终会得到如下代码:
a()?c?d?e:f:g:h?i(j?k:l?m:n):o
任何人都可以猜测那里发生了什么。关于javascript - 我可以将 `else if` 与三元运算符一起使用吗?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/47126232/