多应用+插件架构,代码干净,二开方便,首家独创一键云编译技术,文档视频完善,免费商用码云13.8K 广告
为了避免在访问可能为 null 或未定义的对象的属性时出现错误,您可以使用可选链接运算符 (?.): ~~~ const result = object?.property; ~~~ 这段代码使用了JavaScript的可选链操作符(Optional Chaining Operator)。它的含义是,如果`object`对象存在`property`属性,则返回该属性值;否则返回`undefined`。该表达式可以帮助你避免`TypeError`异常,当你尝试访问一个不存在的属性时,它会返回`undefined`而不是抛出异常。 比如,考虑以下示例: ```javascript const user = { name: "John", address: { city: "New York", street: "123 Main St" } }; const city = user.address ? user.address.city : undefined; ``` 在上述代码中,我们需要访问`user`对象的`address`属性,并获取其内部的`city`属性。为了避免`TypeError`异常,我们使用了三元条件运算符来检查`user.address`是否存在。这种写法可能会导致代码变得冗长,特别是当对象嵌套层级很深时。 使用可选链操作符,你可以将上述代码简化成如下: ```javascript const city = user?.address?.city; ``` 这样就不需要进行繁琐的条件检查,而是直接访问`user`、`address`和`city`属性,如果任意一项不存在,则返回`undefined`。 需要注意的是,可选链操作符是ES2020中新增的语法特性,在一些旧版本或不支持该特性的环境下,代码可能会出现语法错误。因此,在实际开发中,你需要根据项目要求和目标环境来决定是否使用可选链操作符。