JavaScript基础-详解什么是条件运算符(三元运算符)

JavaScript有一个条件运算符,在运算符中尤为独特。

在本文中,我将解释什么是条件运算符以及如何使用它们。

条件运算符(三元运算符)

条件运算符是根据条件划分处理的运算符。

它可以代替if…else语句,因为它的写法比一般的条件分支更简洁。

另外,因为处理3个操作数,所以也被称为三元运算符。

操作数 条件运算符 操作数 条件运算符 操作数

由于大部分JavaScript处理一元或二元运算符,因此条件运算符的使用比其他运算符更独特。

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,则计算假时表达式

使用条件分支时,一定要包括条件运算符。