JavaScript有一个条件运算符,在运算符中尤为独特。
在本文中,我将解释什么是条件运算符以及如何使用它们。
条件运算符(三元运算符)
条件运算符是根据条件划分处理的运算符。
它可以代替if…else语句,因为它的写法比一般的条件分支更简洁。
另外,因为处理3个操作数,所以也被称为三元运算符。
操作数 条件运算符 操作数 条件运算符 操作数
由于大部分JavaScript处理一元或二元运算符,因此条件运算符的使用比其他运算符更独特。
使用条件运算符
条件运算符使用?和:来分隔条件表达式和true/false表达式。
下面是条件运算符的语法。
条件表达式?真时表达式:假时表达式
如果评估条件表达式的结果为true,则条件运算符返回评估真表达式的结果。
相反,如果条件表达式的计算结果为false,则返回假时表达式的计算结果。
计算条件表达式->计算结果为true->真时的表达式->返回结果 计算条件表达式->计算结果为false->假时的表达式->返回结果
请参见下面的示例。
我们知道它返回A或B,具体取决于计算条件表达式的结果。
// 条件表达式求值为true let a = true ? "A" : "B"; console.log(a); // "A" // 如果条件表达式求值为false let b = false ? "A" : "B"; console.log(b); // "B"
条件表达式可以包含真值以外的值。在这种情况下,计算 true 或 false 是否为真。
让我们看一下示例代码。
let age = 19; let drink = (age >= 20) ? "Beer" : "Orange Juice"; console.log(drink); // "Orange Juice"
首先,计算条件表达式中描述的age >= 20值。
由于 19 被分配给变量 age,因此条件表达式“年龄20岁以上”的计算结果为 false。所以返回
值为"Orange Juice"
将上面的示例重写成if...else句子如下所示:
let age = 19; let drink; if (age >= 20) { drink = "Beer"; } else { drink = "Orange Juice"; } console.log(drink); // "Orange Juice"
这样,一个if语句中占用多行的条件处理就可以用条件运算符简洁地写出来。
如果条件有多个,或者想细细划分处理,if语句可能更合适。
结语
在本文中,我们将了解了条件运算符。
//要点
-
条件运算符是根据条件分开处理的运算符
-
“?”和“:”处理三个操作数,因此也被称为三元运算符
-
如果条件表达式计算为true,则计算真时表达式
-
如果条件表达式计算为false,则计算假时表达式
使用条件分支时,一定要包括条件运算符。