JavaScript条件语句核心是if和switch:if用于真假判断与多分支,支持else if/else;switch适合固定值匹配,需break防穿透且用===比较;选择依据是判断性质——范围/布尔用if,离散值用switch;三元运算符、&&、||、??可简化简单逻辑。

JavaScript中的条件语句是用来根据不同的条件执行不同代码块的语法结构,核心是if和switch,它们让程序具备“判断能力”,能响应数据变化或用户行为。
if语句:最基础的真假判断
if语句检查一个表达式是否为真(truthy),如果是,就执行对应代码块。它支持else if和else来处理多分支情况。
- 单个条件:
if (age >= 18) { console.log("成年人"); } - 多条件链:
if (score >= 90) { ... } else if (score >= 80) { ... } else { ... } - 注意:JavaScript中
0、""、null、undefined、NaN、false为falsy,其余多数值为truthy - 建议用
===代替==避免隐式类型转换带来的意外结果
switch语句:适合多个固定值的匹配
当需要根据某个变量的**确切值**(如字符串、数字、常量)做多种分支处理时,switch比一长串else if更清晰、易读。
- 基本结构:
switch (day) { case "Mon": console.log("周一"); break; case "Tue": ... default: ... } - 每个
case后必须加break,否则会“穿透”执行后续case(这是常见错误) -
default不是必须的,但强烈建议加上,用于兜底处理未覆盖的情况 - 注意:
switch使用严格相等(===)比较,不会做类型转换
什么时候选if,什么时候选switch?
关键看判断依据的性质:
立即学习“Java免费学习笔记(深入)”;
- 用
if:判断范围(如x > 100)、布尔状态(isLoading)、复杂逻辑组合(a && !b || c) - 用
switch:匹配几个明确的离散值(如按钮类型"save"/"cancel"/"delete"、HTTP状态码200/404/500) - 性能上现代引擎对两者优化都很成熟,不必过度纠结;可读性和维护性才是首要考虑
小技巧:三元运算符和逻辑运算符也能做简单判断
对于单行赋值或简单分支,可以替代短小的if:
- 三元运算符:
const message = score >= 60 ? "及格" : "不及格"; - 逻辑与(&&)常用于“有值才执行”:
user && user.name && console.log(user.name); - 逻辑或(||)或空值合并(??)适合设置默认值:
const name = userInput || "匿名";或const name = userInput ?? "匿名"; - 注意:这些写法不宜嵌套过深,否则可读性下降,该用
if还是得用










