当尝试访问可能不存在的对象属性时,为了防止抛出错误,可以使用?.
操作符
可选链操作符( ?. )
- 概念:可选链操作符( ?. )允许读取位于连接对象链深处的属性的值,而不必明确验证链中的每个引用是否有效。
- ?. 操作符的功能类似于 . 链式操作符,不同之处在于,在引用为空(null 或者 undefined) 的情况下不会引起错误,该表达式短路返回值undefined。与函数调用一起使用时,如果给定的函数不存在,则返回 undefined
let obj = {
name:'zs',
age:18,
}
console.log(obj.hh.dd) // => 浏览器抛出错误
console.log(obj?.hh?.zz) // => undefined