空值合并运算符(nullish coalescing operator)是 JavaScript 的一个新特性,用于简化处理 null
或 undefined
值的情况。空值合并运算符用两个问号(??
)表示,它的作用是在一些变量为空(null
或 undefined
)时,提供一个默认值。
当左侧的表达式为 null
或 undefined
时,空值合并运算符会返回右侧的表达式,否则返回左侧的表达式。例如:
const a = null;
const b = a ?? 'default value';
console.log(b); // 输出:default value
在上面的代码中,变量 a
为 null
,因此变量 b
的值会被设置为 default value
。
需要注意的是,空值合并运算符仅当左侧表达式为 null
或 undefined
时才会触发。如果左侧表达式的值为其他 falsy
值(如 0 或空字符串),则空值合并运算符并不会触发。如果需要对 falsy
值进行处理,可以使用逻辑或运算符(||
)。