ES6 - 条件判断
ES6 - 条件判断
Section titled “ES6 - 条件判断”编程中的条件判断(Decision-making)结构允许程序根据指定的条件执行不同的代码块。这些结构在决定执行哪个指令块之前,会评估一个条件(一个结果为 true 或 false 的表达式)。
想象一个流程图,其中提出了一个问题(条件)。如果答案是“是”(true),则执行一组操作路径。如果答案是“否”(false),则执行另一组不同的路径(或者不执行任何路径)。这就是条件逻辑的本质。
JavaScript 中主要的条件结构有:
| 序号 | 语句 | 描述 |
|---|---|---|
| 1 | if 语句 | 一个 if 语句包含一个 Boolean 表达式,后跟一个或多个语句。只有当 Boolean 表达式评估为 true 时,这些语句才会被执行。 |
| 2 | if...else 语句 | 一个 if 语句后面可以跟着一个可选的 else 语句。当 if 语句中的 Boolean 表达式评估为 false 时,else 代码块会被执行。 |
| 3 | else if 阶梯 / 嵌套 if 语句 | else if 阶梯(或一系列 if...else if...else 语句)对于顺序测试多个条件非常有用。它执行与第一个评估为 true 的条件关联的代码块。一个可选的最终 else 块可以处理所有前面的条件都不满足的情况。嵌套 if 语句则是在另一个 if 或 else 块中放置一个 if 或 if...else 语句,用于实现更复杂的逻辑分支。 |
| 4 | switch...case 语句 | switch 语句评估一个表达式,将表达式的值与一系列 case 子句进行匹配,并执行与第一个匹配的 case 关联的语句。通常使用 break 语句在匹配后退出 switch。一个可选的 default 子句可以在没有任何 case 匹配时执行。 |
现代 JavaScript 实践,例如使用 let 和 const 声明变量以及遵循严格相等检查(=== 和 !==),在编写条件逻辑时应该被采纳,以确保代码清晰并防止常见错误。
使用 if...else if...else 的示例:
Section titled “使用 if...else if...else 的示例:”const score = 75;let grade;
if (score >= 90) { grade = 'A';} else if (score >= 80) { grade = 'B';} else if (score >= 70) { grade = 'C';} else if (score >= 60) { grade = 'D';} else { grade = 'F';}
console.log(`With a score of ${score}, the grade is ${grade}.`); // Output: With a score of 75, the grade is C.使用 switch 的示例:
Section titled “使用 switch 的示例:”const dayOfWeek = new Date().getDay(); // Sunday - 0, Monday - 1, ..., Saturday - 6let dayName;
switch (dayOfWeek) { case 0: dayName = 'Sunday'; break; case 1: dayName = 'Monday'; break; case 2: dayName = 'Tuesday'; break; case 3: dayName = 'Wednesday'; break; case 4: dayName = 'Thursday'; break; case 5: dayName = 'Friday'; break; case 6: dayName = 'Saturday'; break; default: dayName = 'Unknown Day';}console.log(`Today is ${dayName}.`);理解 truthy 和 falsy 值在 JavaScript 条件逻辑中也至关重要,因为条件不一定必须严格是 Boolean 值。像 0、"" (空字符串)、null、undefined、NaN 和 false 本身都是 falsy 值,而大多数其他值都是 truthy 值。