如何使用 JavaScript 嵌套三元运算符
您可能知道,JavaScript 中的三元运算符是 if…else 语句的替代单语句,经常用于使代码更简洁、更易于理解。 例如,我们可以有一个函数,根据传递给它的数字是否为奇数来返回“是”或“否”。
function isOdd(num) {
if (num % 2 === 1) return ‘yes’;
else return ‘no’;
}
我们可以重构 isOdd 函数以使用一行条件语句,如下所示:
function isOdd(num) {
return num % 2 === 1 ? ‘yes’ : ‘no’;
}
JavaScript 中的嵌套三元运算符
我们可以将一个三元运算符作为表达式嵌套在另一个三元运算符内。 我们可以用它来替换 if…else if…else 语句和 switch 语句。 例如,我们可以有一段代码将数字 1、2 和 3 的英文单词设置为变量。 使用 if…else if…else:
let num = 1;
let word;
if (num === 1) word = ‘one’;
else if (num === 2) word = ‘two’;
else if (num === 3) word = ‘three’;
else num = ‘unknown’;
带开关…外壳:
let num = 1;
let word;
switch (num) {
case 1:
word = ‘one’;
break;
case 2:
word = ‘two’;
break;
case 3:
word = ‘three’;
break;
default:
word = ‘unknown’;
break;
}
现在使用嵌套三元运算符:
let num = 1;
let word =
num === 1
? ‘one’
: num === 2
? ‘two’
: num === 3
? ‘three’
: ‘unknown’;
上面的代码示例的工作方式与前两个示例完全相同,并且不那么混乱。 请注意,我们现在可以使用这种嵌套三元方法在同一语句中声明和设置变量。