?? 操作符是 ES2020 中的一个新特性,也称为 nullish coalescing 操作符。它可以用于判断一个值是否为 null 或 undefined,如果是,则返回默认值,否则返回该值本身。
在使用 ?? 操作符时,如果左侧的值为 null 或 undefined,则返回右侧的默认值,否则返回左侧的值。语法格式如下:
const value = a ?? b
其中,a 是要判断的值,b 是默认值。如果 a 为 null 或 undefined,则返回 b,否则返回 a。
以下是一个示例代码,用于演示如何使用 ?? 操作符:
const a = null
const b = undefined
const c = 0
const d = ''
const value1 = a ?? 'default value'
const value2 = b ?? 'default value'
const value3 = c ?? 'default value'
const value4 = d ?? 'default value'
console.log(value1) // 'default value'
console.log(value2) // 'default value'
console.log(value3) // 0
console.log(value4) // ''
在上面的代码中,a 和 b 分别为 null 和 undefined,使用 ?? 操作符可以返回默认值,而 c 和 d 不为 null 或 undefined,所以返回该值本身。