JavaScript中的条件三元运算符根据某些条件为变量赋值,是唯一接受三个操作数的JavaScript运算符。
三元运算符可替代if语句,其中if和else子句为同一字段指定不同的值,如下所示:
if (condition)result = 'something';elseresult = 'somethingelse';三元运算符将此if/else语句缩短为一条语句:
result = (condition) ? 'something' : 'somethingelse';如果条件为true,则三元运算符返回第一个表达式的值;否则,它将返回第二个表达式的值。让我们考虑它的部分:
只有当原始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”更容易理解。
当使用三元运算符或任何缩写-考虑谁将读取你的代码。如果经验较少的开发人员可能需要理解您的程序逻辑,那么可能应该避免使用三元运算符。如果条件和求值足够复杂,需要嵌套或链接三元运算符,则尤其如此。事实上,这些类型的嵌套运算符不仅会影响可读性,还会影响调试。
与任何编程决策一样,在使用三元运算符之前一定要考虑上下文和可用性。
...通知编译器内存位置可以存储一个整数值。当有一个语句作为float area时;float是一个关键字,area是一个标识符。area变量可以保存浮点值。 在编程中,有重复一系列语句的情况。for循环和while循环用于迭代任务。用于决策,可使...
...决策结构。if-else和switch就是其中的两个。表达式由值、运算符、常量等组成。如果给定表达式为真,则if-else允许执行语句块;如果给定表达式为false,则允许执行可选块。开关用于允许变量或表达式的值通过多路分支更改程序...
...是如果(if)? if语句由表达式组成。表达式可以包含值、运算符、常量或变量。如果计算的表达式为true,则执行If块中的语句。如果表达式为false,则将控件传递到If块后面的下一个语句。大多数编程语言假定非零和非空值为真,...
...数-Quiet,强制它返回True或False,而不是数据包的结果。Or语句的第二部分检查计数器是否超过三个。 ...
... 编写第一批文件时需要知道的一件事是if else语句。如果您有编程经验,您可能会知道,if else语句是控制脚本逻辑的一种方法。它允许您指定分支到不同代码块的条件。 ...
...的非常有用的方法。PHP使用句号将字符串连接在一起,而JavaScript和jQuery使用加号。 ...
... 如果你不喜欢Java,那么有一个基于处理的JavaScript库叫做p5.js。它是基于浏览器的,甚至初学者也可以使用它来创建奇妙的反应动画! ...
... JavaScript等编程语言使用elseif,Python使用elif。然而,在Python中,else通常结束一组条件语句。但是如果您仍然希望在结束条件之前验证其他事件,那么您需要使用elif语句。...
...大线程数(默认值为5)。 The addition of new operators: 三元运算符“?“:”的工作原理与if else语句非常相似,它将两个表达式与一个条件进行比较,以确定它是真是假,例如,测试路径“C:\Users”?”exists“:”不存在 管道链操...