可选链运算符(?.
)允许读取位于连接对象链深处的属性的值,而不必明确验证链中的每个引用是否有效。
?.
运算符的功能类似于 .
链式运算符
不同之处在于,在引用为空 (nullish
) (null 或者 undefined) 的情况下不会引起错误,
该表达式短路返回值是undefined
。与函数调用一起使用时,如果给定的函数不存在,则返回 undefined。
空值合并运算符(??
)是一个逻辑运算符,当左侧的操作数为 null
或者 undefined
时,返回其右侧操作数,否则返回左侧操作数。