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'

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

相关推荐
年老体衰按不动键盘2 分钟前
快速部署和启动Vue3项目
java·javascript·vue
小小小小宇3 分钟前
一个小小的柯里化函数
前端
灵感__idea7 分钟前
JavaScript高级程序设计(第5版):无处不在的集合
前端·javascript·程序员
小小小小宇10 分钟前
前端双Token机制无感刷新
前端
小小小小宇12 分钟前
重提React闭包陷阱
前端
小小小小宇28 分钟前
前端XSS和CSRF以及CSP
前端
UFIT32 分钟前
NoSQL之redis哨兵
java·前端·算法
超级土豆粉39 分钟前
CSS3 的特性
前端·css·css3
星辰引路-Lefan39 分钟前
深入理解React Hooks的原理与实践
前端·javascript·react.js
wyn200011281 小时前
JavaWeb的一些基础技术
前端