我可以在三元运算符语法的语句中只使用 ifelse 还是可以以某种方式包含 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/

10-16 13:08