es6中 ?? 与 || 区别

es6中 ?? 与 || 区别

自我记录

??||都是逻辑运算符,但它们的作用不同。
??是空值合并运算符,它用于检查左侧的表达式是否为nullundefined。如果是nullundefined,则返回右侧的表达式;如果不是,则返回左侧的表达式

ts 复制代码
let foo = null;
let bar = foo ?? 'default'; // bar 的值为 'default'

let baz; 
let qux = baz ?? 'default'; // qux 的值为 'default'

||是逻辑或运算符,它用于检查左侧的表达式是否为假。如果左侧的表达式为假,则返回右侧的表达式;如果左侧的表达式为真,则返回左侧的表达式。在JavaScript中,只有nullundefined''0NaN被视为假值,其他值都被视为真值。

ts 复制代码
let foo = 'hello';
let bar = foo || 'default'; // bar 的值为 'hello'

let baz; 
let qux = baz || 'default'; // qux 的值为 'default'

因此,??||的区别在于它们的逻辑行为和使用场景。??用于空值合并,而||用于逻辑或

相关推荐
JIngJaneIL14 小时前
数码商城系统|电子|基于SprinBoot+vue的商城推荐系统(源码+数据库+文档)
java·前端·数据库·vue.js·论文·毕设·数码商城系统
GISer_Jing14 小时前
Flutter架构解析:从引擎层到应用层
前端·flutter·架构
GISer_Jing14 小时前
Flutter开发全攻略:从入门到精通
android·前端·flutter
艾小码14 小时前
Vue组件通信不再难!这8种方式让你彻底搞懂父子兄弟传值
前端·javascript·vue.js
lcc18714 小时前
Vue 数据代理
前端·javascript·vue.js
Moment14 小时前
为什么我们从 Python 迁移到 Node.js
前端·后端·node.js
excel14 小时前
📘 全面解析:JavaScript 时间格式化 API 实战指南
前端
咖啡の猫15 小时前
Vue基本路由
前端·vue.js·状态模式
青衫码上行15 小时前
【Java Web学习 | 第七篇】JavaScript(1) 基础知识1
java·开发语言·前端·javascript·学习
咖啡の猫15 小时前
Vue编程式路由导航
前端·javascript·vue.js