[ECMAScript] 第1420天 请描述下空值合并运算符(??)

34 阅读1分钟

空值合并运算符(nullish coalescing operator)是 JavaScript 的一个新特性,用于简化处理 nullundefined 值的情况。空值合并运算符用两个问号(??)表示,它的作用是在一些变量为空(null 或  undefined)时,提供一个默认值。

当左侧的表达式为 nullundefined 时,空值合并运算符会返回右侧的表达式,否则返回左侧的表达式。例如:

const a = null;
const b = a ?? 'default value';
console.log(b); // 输出:default value

在上面的代码中,变量 a 为  null,因此变量 b 的值会被设置为 default value

需要注意的是,空值合并运算符仅当左侧表达式为 nullundefined 时才会触发。如果左侧表达式的值为其他 falsy值(如 0 或空字符串),则空值合并运算符并不会触发。如果需要对 falsy 值进行处理,可以使用逻辑或运算符(||)。

更多题目

github.com/haizlin/fe-…