||(逻辑或运算符)
- 作用:如果左侧操作数为"假值"(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
??(空值合并运算符)
- 作用:如果左侧操作数为
null
或undefined
(其它假值除外),返回右侧操作数。
示例:
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
注意,??
的优先级比 ||
高。