?? 和 || 运算符的区别
|| 逻辑或运算符
在处理空值或者默认值时会遵循 JavaScript 的类型转换规则。如果左侧的表达式结果为假值(如false
、0
、空字符串""
、null
、undefined
、NaN
),则返回右侧的值。
const x = null; const y = x || "default"; console.log(y); // "default"
?? 运算符
专门用于处理null
或undefined
的情况,不会受到 JavaScript 的类型转换规则的影响。如果左侧的值为null
或undefined
,则返回右侧的值。
const x = 0; const y = x ?? 42; const z = x || 42; console.log(y); // 0 console.log(z); // 42
总结
因此,??
更适合用于处理空值或者默认值,而||
则更适合用于一般的逻辑判断。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律