Skip to content

条件判断错误

快速摘要

代码能跑,但结果不对——往往是 `if` 的条件写反了、用了 `=` 而不是 `==`,或逻辑运算符用错。

为什么发生

  • == 写成 =(赋值而非比较),条件永远为真或假

  • 逻辑运算符用错,如把 && 写成 ||

  • 边界条件处理不当,如该用 < 的地方用了 <=

  • 对负数、空字符串、0 等假值做了错误的真值判断

最小示例

✗ 错误代码
let age = 18;
if (age = 18) {
  console.log("成年");
}
✓ 修复代码
const age = 18;
if (age === 18) {
  console.log("成年");
}

age = 18 是赋值,结果永远是 18(真值),条件恒成立。改成 age === 18 才是真正的比较。

如何诊断

  • 用打印语句或调试器查看条件的实际值

  • 对照需求确认边界条件应该包含还是不包含

  • 检查比较运算符是否写成了赋值运算符

如何修复

  • 修正比较运算符:把 = 改成 =====

  • 调整逻辑运算符,确保 &&|| 的语义符合需求

  • 对边界条件单独写测试用例验证

如何预防

  • 使用严格相等 === 避免 == 的隐式转换陷阱

  • 为关键条件分支编写单元测试,覆盖边界值

相关资源

相关术语

相关课程

  • 条件判断

    了解 if/else 和比较运算符的正确用法

相关练习

← 返回语言