空值合并运算符(??)是什么?如何使用它避免undefined和null在JavaScript中的问题?

3 min read

空值合并运算符(??)是一个二元运算符,用于处理 null 或 undefined 值。当第一个操作数不是 null 或 undefined 时,返回第一个操作数。当第一个操作数是 null 或 undefined 时,返回第二个操作数。例如:

let defaultValue = 'hello';
let value1 = null;
let value2 = 'world';

let result1 = value1 ?? defaultValue; // result1的值为'hello'
let result2 = value2 ?? defaultValue; // result2的值为'world'

在上面的代码中,value1null,所以 result1 取默认值 'hello';而 value2 不是 nullundefined,所以 result2 取值为 'world'