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) :false, 0, '' (空字符串), null, undefined, NaN。
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