运算符

34 阅读1分钟

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