const obj = { num4: 0 }
可选链运算符 ?. 允许读取位于连接对象链深处的属性的值,而不必明确验证链中的每个引用是否有效。
在引用为空 (nullish ) (null 或者 undefined) 的情况下不会引起错误,该表达式短路返回值是 undefined。与函数调用一起使用时,如果给定的函数不存在,则返回 undefined。
console.log(obj?.name) // undefined
空值合并运算符 ?? 当左侧的操作数为null 或者undefined时,返回其右侧操作数,
const num2 = 0 ?? 2
console.log(num2) // 0
逻辑空赋值 x ??= y 仅在x是空值(null或undefined)时对其赋值
obj.num3 ??= 3
obj.num4 ??= 4
console.log(obj.num3) // 3