JavaScript 三元运算符
三元运算符在 JavaScript 中是一个常用的语法结构,具有以下几个关键特点:
-
基本结构:三元运算符使用条件表达式,根据条件的真假执行不同的代码。其基本语法为
condition ? expression1 : expression2
。当条件为true
时,执行expression1
;当条件为false
时,执行expression2
。 -
简洁的条件语句:三元运算符是
if..else
语句的简洁形式,常用于需要根据条件执行两种操作之一的场景。例如,可以用来判断成绩是否及格、检查年龄是否满足某个条件等。 -
嵌套使用:三元运算符可以嵌套使用,但建议谨慎使用嵌套,因为过度嵌套会使代码可读性降低。在复杂的条件判断中,使用传统的
if..else
语句可能更加清晰易懂。
使用三元运算符可以使代码更加简洁,但重要的是确保代码的可读性和可维护性。
三元运算符可在某些情况下替代 if..else
语句。在学习三元运算符之前,请务必查看 JavaScript if...else 教程。
什么是三元运算符?
三元运算符评估一个条件,并基于该条件执行代码块。
其语法为:
condition ? expression1 : expression2;
三元运算符评估测试条件。
- 如果条件为
true
,则执行 expression1。 - 如果条件为
false
,则执行 expression2。
三元运算符有 三个 操作数,因此得名三元运算符。它也被称为条件运算符。
让我们编写一个程序,根据获得的分数来确定学生考试是通过还是失败。
示例:JavaScript 三元运算符
// 程序以检查通过或失败
let marks = prompt("Enter your marks :");
// 检查条件
let result = marks >= 40 ? "pass" : "fail";
console.log(`You ${result} the exam.`);
输出 1
Enter your marks: 78
You pass the exam.
假设用户输入 78。然后检查条件 marks >= 40
,其计算结果为 true
。因此第一个表达式 pass
被赋给 result
变量。
输出 2
Enter your marks: 35
You fail the exam.
假设用户输入 35。然后条件 marks >= 40
计算结果为 false
。因此第二个表达式 fail
被赋给 result
变量。
使用三元运算符替代 if...else
在 JavaScript 中,三元运算符可用于替代某些类型的 if..else
语句。例如,
你可以将这段代码
// 检查年龄以确定是否有资格投票
let age = 15;
let result;
if (age >= 18) {
result = "You are eligible to vote.";
} else {
result = "You are not eligible to vote yet.";
}
console.log(result);
替换为
// 三元运算符检查投票资格
let age = 15;
let result =
age >= 18 ? "You are eligible to vote." : "You are not eligible to vote yet";
console.log(result);
这两个程序的输出将是相同的。
输出
You are not eligible to vote yet.
嵌套三元运算符
你也可以在另一个三元运算符中嵌套一个三元运算符作为表达式。例如,
// 程序检查数字是正数、负数还是零
let a = 3;
let result = a >= 0 ? (a == 0 ? "zero" : "positive") : "negative";
console.log(`The number is ${result}.`);
输出
The number is positive.
注意:尽可能避免使用嵌套三元运算符,因为它们会使你的代码难以阅读。