js可选链相关操作符

23 阅读1分钟

?. 存在性判断

?. 缺少中间的属性不会报错

?? 空值合并操作

针对 undefined、null,取操作符后面内容。

const a={}
a?.b ?? 1; // 1
null ?? 1; // 1
"" ?? 1; // ''

??= 空值赋值操作

针对undefined、null取操作符后面内容

const a=1
a ??=2 // 1
let b
b ??=1; // 1

灵魂发问:空值赋值操作符 和空值合并操作区分是啥??