??和||的用法

17 阅读1分钟

1. 空值合并 (Nullish Coalescing) ??

用途:提供默认值。只有当左侧的操作数是 null 或 undefined 时,才返回右侧的操作数。

console.log(undefined ?? 1)//1
console.log(null ?? 1)//1
console.log('' ?? 1)//''
console.log(false ?? 1)//false
console.log(0 ?? 1)//0
console.log(NaN ?? 1)//NaN

2. 逻辑或 (Logical OR) ||

用途:也用于提供默认值。但当左侧的操作数是 任何假值(falsy)  时,就返回右侧的操作数。

JavaScript 中的假值 (falsy)false0'' (空字符串), nullundefinedNaN

console.log(undefined || 1)//1
console.log(null || 1)//1
console.log('' || 1)//1
console.log(false || 1)//1
console.log(0 || 1)//1
console.log(NaN || 1)//1