2
Amy 原创整理|资料核验:2026-10-30
MDN说明,空值合并运算符??只有在左侧为null或undefined时,才返回右侧默认值。0、空字符串和false都会被保留;||则会把这些假值也转向右侧。
教学示例:数量qty为0时,qty ?? 10得到0,而qty || 10得到10。若0代表明确输入的“零件数”,后者可能把有效输入变成默认数量。若业务本来就把空字符串视为未填写,则仍需单独制定校验规则,不能机械替换所有||。
另一个语法细节是,??不能直接与&&或||混写而不加括号。Amy建议先列出0、false、空字符串、null和undefined这五种输入的预期结果,再选择表达式;这比看到一个默认值写法就全项目替换更容易发现业务差异。
官方来源:
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Nullish_coalescing