空值合并运算符(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 值进行处理,可以使用逻辑或运算符(||)。