TypeScript 编程,|| 和 ?? 的区别是什么?

||(逻辑或运算符)

  • 作用:如果左侧操作数为"假值"(falsy),返回右侧操作数。
  • 假值(falsy)的定义:
    • false
    • 0
    • ''(空字符串)
    • null
    • undefined
    • NaN

示例:

typescript 复制代码
const a = 0 || 'default'; // 'default'
const b = false || 'default'; // 'default'
const c = '' || 'default'; // 'default'
const d = null || 'default'; // 'default'
const e = undefined || 'default'; // 'default'

const f = 'value' || 'default'; // 'value'
const g = 42 || 'default'; // 42

??(空值合并运算符)

  • 作用:如果左侧操作数为 nullundefined(其它假值除外),返回右侧操作数。

示例:

typescript 复制代码
const a = 0 ?? 'default'; // 0
const b = false ?? 'default'; // false
const c = '' ?? 'default'; // ''
const d = null ?? 'default'; // 'default'
const e = undefined ?? 'default'; // 'default'

const f = 'value' ?? 'default'; // 'value'
const g = 42 ?? 'default'; // 42

注意,?? 的优先级比 || 高。

相关推荐
码农黛兮_462 分钟前
CSS3 基础知识、原理及与CSS的区别
前端·css·css3
水银嘻嘻24 分钟前
web 自动化之 Unittest 四大组件
运维·前端·自动化
(((φ(◎ロ◎;)φ)))牵丝戏安29 分钟前
根据输入的数据渲染柱形图
前端·css·css3·js
wuyijysx41 分钟前
JavaScript grammar
前端·javascript
溪饱鱼1 小时前
第6章: SEO与交互指标
服务器·前端·microsoft
咔_1 小时前
LinkedList详解(源码分析)
前端
逍遥德2 小时前
CSS可以继承的样式汇总
前端·css·ui
读心悦2 小时前
CSS3 选择器完全指南:从基础到高级的元素定位技术
前端·css·css3
_龙衣3 小时前
将 swagger 接口导入 apifox 查看及调试
前端·javascript·css·vue.js·css3
进取星辰4 小时前
25、Tailwind:魔法速记术——React 19 样式新思路
前端·react.js·前端框架