&& || ! ?? 逻辑运算符

最后更新:2026-09-09

&& || ! ?? 逻辑运算符

逻辑运算符组合布尔条件。&& 短路(全真才真)、|| 短路(有真即真)、! 取反、?? 空值合并(仅 null/undefined 触发默认值)。

分类运算符
ES 版本ES1

📝 语法

a && b;  // 与
a || b;  // 或
!a;      // 非
a ?? b;  // 空值合并

返回值:布尔值或操作数之一。

是否修改原值:否(返回新值)

▶ 示例

编辑下方代码,点击运行,在输出面板查看结果:

运行结果:

匿名

未知
有名字
⚠️ 警告 || 会把 0、'' 等假值也替换掉——只想处理 null/undefined 用 ??。
💡 提示 ?? 是 ES2020 新增——专门解决 || 的过度替换问题。

🌐 浏览器支持

浏览器 ChromeChrome EdgeEdge FirefoxFirefox SafariSafari OperaOpera
&& || ! ?? v1 v12 v1 v1 v1
所有现代浏览器均支持
更多实战案例即将上线,敬请期待。

📚 相关教程

❓ 常见问题

Q|| 和 ?? 的区别?
A|| 对所有假值生效(包括 0 和空串);?? 只对 null/undefined 生效。
Q&& 的短路是什么意思?
A第一个为假时不再计算第二个——直接返回第一个。
Q! 和 !! 的区别?
A! 取反;!! 转为布尔值(双取反)。
Web-Tutorial.com

Web-Tutorial 技术团队

由多位开发者共同维护的编程教程平台。每篇教程由对应领域的开发者编写和审核,确保内容准确可靠。如发现任何问题,欢迎向我们反馈。

100%

🙏 帮我们做得更好

我们是刚上线的编程教程站,几个人的小团队,精力有限。页面虽经检查,难免还有疏漏——链接失效、排版错乱、内容有误、语言生硬……

如果您发现了,麻烦告诉我们,我们会在收到反馈后第一时间进行修复,再次感谢您的光临 🙏