JS 的 ?? 运算符是空值合并运算符,用于获取两个表达式中的非空值。它以从左到右的顺序评估表达式,先检查左侧表达式的非空值,若非空则返回,若空则返回右侧表达式的值。?? 运算符与 || 运算符的区别在于检查空值和始终返回一个值。它适用于提供默认值、简化条件语句和避免冗长的 if-else 语句处理空值。

JS 中的 ?? 运算符
什么是 ?? 运算符?
?? 称为空值合并运算符,用于获取两个表达式中的非空值。语法如下:
x ?? y
如何使用 ?? 运算符?
?? 运算符以从左到右的顺序对表达式求值:
- 首先评估左侧表达式
x。 - 如果
x为非空值(不为null或undefined),则返回x的值,而不会评估右侧表达式y。 - 如果
x为空值,则评估右侧表达式y并返回其值。
示例:
自从百度屏蔽淘宝客网站、淘宝抛弃淘宝客之后,个人站长集体陷入了恐慌之中。此时,什么值得买网的异军突起引起了广大个人站长的极大关注。做一个什么值得买一样的导购网站成了众多个人站长的一致心愿! TP-COUPON 导购系统 即是让个人站长实现此心愿的绝佳选择! 欢迎个人站长选用。V1.1版 更新记录:1.修正请求时查询淘宝店铺错误的bug2.删除一些无用的代码
const name = "John" ?? "Unknown"; // "John" const age = 0 ?? "N/A"; // 0 const empty = null ?? "Empty"; // "Empty" const undef = undefined ?? "Undefined"; // "Undefined"
?? 运算符与 || 运算符的区别:
?? 运算符与逻辑或运算符(||)相似,但存在以下区别:
- ?? 运算符检查空值,而 || 运算符检查布尔值。
- ?? 运算符始终返回一个值,而 || 运算符仅在至少一个表达式为真的情况下返回一个值。
何时使用 ?? 运算符?
?? 运算符可用于:
- 提供默认值,例如在处理可能为
null或undefined的值时。 - 在条件语句中简化代码,例如检查变量是否为非空值。
- 避免在处理空值时使用冗长的
if-else语句。









