es6中 ?? 与 || 区别

es6中 ?? 与 || 区别

自我记录

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

let foo = null;
let bar = foo ?? 'default'; // bar 的值为 'default'

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

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

let foo = 'hello';
let bar = foo || 'default'; // bar 的值为 'hello'

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

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

相关推荐

  1. es6 ?? || 区别

    2023-12-26 11:36:03       67 阅读
  2. ES6ES5的区别

    2023-12-26 11:36:03       51 阅读
  3. 深入探究ES5ES6的主要区别

    2023-12-26 11:36:03       34 阅读
  4. ES6的MapSet

    2023-12-26 11:36:03       43 阅读
  5. ES6WeakMap和Map的区别

    2023-12-26 11:36:03       57 阅读
  6. common.js和es6模块引入的区别

    2023-12-26 11:36:03       34 阅读
  7. es6es5的类和 es6 的类 class 有什么区别

    2023-12-26 11:36:03       45 阅读
  8. es5和es6区别

    2023-12-26 11:36:03       56 阅读
  9. es5和es6区别

    2023-12-26 11:36:03       52 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2023-12-26 11:36:03       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2023-12-26 11:36:03       100 阅读
  3. 在Django里面运行非项目文件

    2023-12-26 11:36:03       82 阅读
  4. Python语言-面向对象

    2023-12-26 11:36:03       91 阅读

热门阅读

  1. 邦芒解析:拒绝加班邀请的8种理由

    2023-12-26 11:36:03       56 阅读
  2. 图像色彩还原算法

    2023-12-26 11:36:03       56 阅读
  3. MySQL中的like模糊查询

    2023-12-26 11:36:03       64 阅读
  4. Springboot学习

    2023-12-26 11:36:03       68 阅读
  5. 蛋白分离纯化方法|蛋白质纯化--卡梅德生物

    2023-12-26 11:36:03       66 阅读
  6. 随记-SQLAlchemy ORM 梳理

    2023-12-26 11:36:03       53 阅读