## 问题概括:JavaScript假值判断陷阱(Falsy Value Trap)
### 核心问题
在JavaScript中,使用 !value 或 if (!value) 判断"是否为空"时,会错误地将数字 0 也视为"空/假",因为 0 是JavaScript中的 假值 (falsy value)。
### 常见假值列表
JavaScript中有以下6个假值:
- false
- 0 和 -0
- "" (空字符串)
- null
- undefined
- NaN
### 问题场景
当表单选择框的值为数字 0 (如"试住"选项的值)时, !0 返回 true ,导致条件判断逻辑错误。
### 正确做法
需要 精确判断 ,明确区分"未选择"和"选择了值为0的选项":
```
// 错误:!0 === true,会错误拦截值为0的情
况
if (!value) { ... }
// 正确:精确判断undefined/null/空字符串
if (value === undefined || value ===
null || value === '') { ... }
```
### 经典程度
这是前端开发者 入门必踩的坑 ,几乎每个前端开发者都经历过类似的问题,是面试中常见的基础知识点。
任务完成
