javascript三元运算符作为if/else语句的快捷方式

JavaScript中的条件三元运算符根据某些条件为变量赋值,是唯一接受三个操作数的JavaScript运算符。...

JavaScript中的条件三元运算符根据某些条件为变量赋值,是唯一接受三个操作数的JavaScript运算符。

Man Sitting At Desk Using Computer

三元运算符可替代if语句,其中if和else子句为同一字段指定不同的值,如下所示:

if (condition)result = 'something';elseresult = 'somethingelse';

三元运算符将此if/else语句缩短为一条语句:

result = (condition) ? 'something' : 'somethingelse';

如果条件为true,则三元运算符返回第一个表达式的值;否则,它将返回第二个表达式的值。让我们考虑它的部分:

  • 首先,创建要为其赋值的变量,在本例中为result。变量结果将根据条件具有不同的值。
  • 请注意,在右侧(即操作员本身),条件为第一。
  • 条件后面总是有一个问号(?),基本上可以理解为“这是真的吗?”
  • 两个可能的结果排在最后,用冒号(:)分隔。

只有当原始if语句遵循上面所示的格式时,才可以使用三元运算符,但这是一种非常常见的情况,使用三元运算符可以更有效。

三元运算符示例

让我们看一个真实的例子。

也许你需要确定哪些孩子适合上幼儿园。您可能有如下条件语句:

var age = 7;var kindergarten_eligible; if (age > 5) {kindergarten_eligible = "Old enough";}else {kindergarten_eligible = "Too young";}

使用三元运算符,可以将表达式缩短为:

var kindergarten_eligible = (age < 5) ? "Too young" : "Old enough";

当然,这个例子会返回“足够老了”

多重评价

您还可以包括多个评估:

var age = 7, var socially_ready = true;var kindergarten_eligible = (age < 5) ? "Too young" : socially_ready"Old enough but not yet ready" "Old and socially mature enough"console.log ( kindergarten_eligible ); // logs "Old and socially mature enough"

多重操作

三元运算符还允许为每个表达式包含多个操作,用逗号分隔:

var age = 7, socially_ready = true; age > 5 ? (alert("You are old enough."),location.assign("continue.html")) : (socially_ready = false,alert("Sorry, but you are not yet ready."));

三元算子蕴涵

三元运算符避免了冗长的代码,因此一方面,它们看起来是可取的。另一方面,它们可能会影响可读性——显然,“IF-ELSE”比神秘的“IF-ELSE”更容易理解。

当使用三元运算符或任何缩写-考虑谁将读取你的代码。如果经验较少的开发人员可能需要理解您的程序逻辑,那么可能应该避免使用三元运算符。如果条件和求值足够复杂,需要嵌套或链接三元运算符,则尤其如此。事实上,这些类型的嵌套运算符不仅会影响可读性,还会影响调试。

与任何编程决策一样,在使用三元运算符之前一定要考虑上下文和可用性。

  • 发表于 2021-09-05 13:43
  • 阅读 ( 229 )
  • 分类:IT

你可能感兴趣的文章

标识符(identifier)和关键字(keyword)的区别

...通知编译器内存位置可以存储一个整数值。当有一个语句作为float area时;float是一个关键字,area是一个标识符。area变量可以保存浮点值。 在编程中,有重复一系列语句的情况。for循环和while循环用于迭代任务。用于决策,可使...

  • 发布于 2020-10-19 15:19
  • 阅读 ( 297 )

如果还有(if else)和转换(switch)的区别

...决策结构。if-else和switch就是其中的两个。表达式由值、运算符、常量等组成。如果给定表达式为真,则if-else允许执行语句块;如果给定表达式为false,则允许执行可选块。开关用于允许变量或表达式的值通过多路分支更改程序...

  • 发布于 2020-10-24 02:27
  • 阅读 ( 308 )

如果(if)和如果还有(if else)的区别

...是如果(if)? if语句由表达式组成。表达式可以包含值、运算符、常量或变量。如果计算的表达式为true,则执行If块中的语句。如果表达式为false,则将控件传递到If块后面的下一个语句。大多数编程语言假定非零和非空值为真,...

  • 发布于 2020-10-24 02:33
  • 阅读 ( 194 )

powershell foreach、while和其他循环的工作原理

...数-Quiet,强制它返回True或False,而不是数据包的结果。Or语句的第二部分检查计数器是否超过三个。 ...

  • 发布于 2021-03-11 23:17
  • 阅读 ( 443 )

在windows中写入批处理文件?else语句如何工作

... 编写第一批文件时需要知道的一件事是if else语句。如果您有编程经验,您可能会知道,if else语句是控制脚本逻辑的一种方法。它允许您指定分支到不同代码块的条件。 ...

  • 发布于 2021-03-12 20:01
  • 阅读 ( 296 )

使用sql连接字符串的巧妙方法

...的非常有用的方法。PHP使用句号将字符串连接在一起,而JavaScript和jQuery使用加号。 ...

  • 发布于 2021-03-13 07:05
  • 阅读 ( 230 )

如何使用java和处理创建惊人的网络摄像头效果

... 如果你不喜欢Java,那么有一个基于处理的JavaScript库叫做p5.js。它是基于浏览器的,甚至初学者也可以使用它来创建奇妙的反应动画! ...

  • 发布于 2021-03-21 14:43
  • 阅读 ( 339 )

最糟糕和最难避免的编程语言就像瘟疫一样

... 三。javascript语言 ...

  • 发布于 2021-03-21 17:33
  • 阅读 ( 229 )

如何使用python if语句

... JavaScript等编程语言使用elseif,Python使用elif。然而,在Python中,else通常结束一组条件语句。但是如果您仍然希望在结束条件之前验证其他事件,那么您需要使用elif语句。...

  • 发布于 2021-03-27 00:49
  • 阅读 ( 273 )

如何在windows 10上安装powershell 7

...大线程数(默认值为5)。 The addition of new operators: 三元运算符“?“:”的工作原理与if else语句非常相似,它将两个表达式与一个条件进行比较,以确定它是真是假,例如,测试路径“C:\Users”?”exists“:”不存在 管道链操...

  • 发布于 2021-04-02 11:09
  • 阅读 ( 283 )
qygib7812
qygib7812

0 篇文章

相关推荐