【问题标题】:Javascript two-lined if/else statement. What is this called?Javascript 两行 if/else 语句。这个叫什么?
【发布时间】:2020-03-24 14:15:42
【问题描述】:

有一个单行 if/else 语句(三元运算),如 here 所示。

那两条线呢?

例如

if (true) console.log("True");
else console.log("False");

编辑:我看到的“正常”/标准 if/else 语句如下所示:

if (true) {
   console.log("True");
} else {
   console.log("False");
}

所以区别:没有大括号。

【问题讨论】:

  • 它只是称为if 语句和else 语句。或 if...else 声明作为组合词。
  • 您也可以将if/else 放在单行上或将条件运算符表达式放在多行上,不会改变任何内容。
  • @VLAZ,我已经编辑了我的问题以提供一些说明;这两条线与我一直学习和看到的“标准” if / else 语句不同,因为它没有大括号。
  • @daCoda 它没有大括号,因为在这种情况下不需要它们。如果不放括号,则下一条语句属于相应的块。如果你把括号放在里面,你就明确地将这些语句组合在一起。 if (bool) satement1; 将像您拥有 if (bool) { statement1; } 一样解析 - 两者是等价的。唯一的区别是编码风格。但是 if (bool) satement1; statement2; 将解析为 if (bool) { statement1; } statement2; 因此大多数样式指南更喜欢括号,因为您可以更轻松地修改块。
  • @VLAZ,干杯,得到了我需要的东西,它只是一种编码风格。

标签: javascript if-statement


【解决方案1】:

条件运算符或三元运算符就是这样称呼的——三元运算符或条件运算符。 称为“单行 if-else 语句”,因为其中没有 if-else。 (它可能与 if-else 作为单个表达式的效果相似,但这并不意味着它是一个)

您问题中的代码只是一个普通的 if-else 语句,因为它使用 if-else - 无论它有多少行。

【讨论】:

  • OP 询问 if-else 条件运算符相比的使用:有一个单行 if/else 语句(三元运算),如在这里看到。 所以我认为有必要澄清条件运算符不是“单行 if-else 语句”。 (相反,任何带有if-else if-else 语句)
【解决方案2】:

您的示例只是一个标准的 if-else。可能没有括号,因为条件中只有 1 条语句。这可以应用于任何使用括号来包含多个语句的地方。例如:

while(true) console.log("looping")

【讨论】:

    【解决方案3】:

    这只是编码风格的不同;请参阅@VLAZ 的回答。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-05-11
      • 2015-05-16
      • 2017-08-12
      • 2019-12-11
      • 1970-01-01
      • 1970-01-01
      • 2021-09-11
      相关资源
      最近更新 更多