当访问对象属性时,可以使用 ?. 运算符来避免出现 null 或 undefined 的错误。这个运算符被称为可选链运算符。
例如,考虑一个对象 person,它有一个 address 属性,address 属性本身也是一个对象,有一个 city 属性。我们想要获取 person 的 address 的 city 值:
const city = person?.address?.city;
如果 person 对象不存在或者 person.address 为 null 或 undefined,那么 city 变量将被赋值为 undefined,而不会抛出错误。
可选链运算符可以减少代码中对空值的处理,使代码更加简洁和安全。它在处理深层嵌套的对象结构时尤其有用。
可选链运算符 ?. 是在 ECMA Script 202 中引入的,因此在较旧的浏览器或 JavaScript 运行环境中可能不被支持。在使用时请先确保你的项目环境支持该运算符,或者使用编译工具(如 Babel)将其转换为兼容的代码。