JavaScript可选链

148 阅读1分钟

当访问对象属性时,可以使用 ?. 运算符来避免出现 null 或 undefined 的错误。这个运算符被称为可选链运算符。

例如,考虑一个对象 person,它有一个 address 属性,address 属性本身也是一个对象,有一个 city 属性。我们想要获取 personaddresscity 值:

const city = person?.address?.city;

如果 person 对象不存在或者 person.address 为 null 或 undefined,那么 city 变量将被赋值为 undefined,而不会抛出错误。

可选链运算符可以减少代码中对空值的处理,使代码更加简洁和安全。它在处理深层嵌套的对象结构时尤其有用。

可选链运算符 ?. 是在 ECMA Script 202 中引入的,因此在较旧的浏览器或 JavaScript 运行环境中可能不被支持。在使用时请先确保你的项目环境支持该运算符,或者使用编译工具(如 Babel)将其转换为兼容的代码。

注意:可选链固然好,但是不建议一味的使用,因为这会导致很多错误被忽略,导致排查困难,有好有坏吧!