You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用Optional Chaining检测空值仍报错,如何正确处理?

解决可选链使用的报错问题

你当前的代码data?.response[0]?.Transaction[0]?.UID之所以报错,是因为可选链只覆盖到了response[0],当Transaction键不存在时,Transaction会是undefined,此时直接访问[0]就会触发类型错误——因为不能对undefined执行索引读取操作。

只需要在Transaction和索引[0]之间也添加可选链操作符,就能解决问题,修正后的代码如下:

data?.response[0]?.Transaction?.[0]?.UID;

原理是:一旦Transaction为null或undefined,可选链会直接短路返回undefined,不会继续执行后续的[0]?.UID访问,自然就不会抛出错误。

内容的提问来源于stack exchange,提问作者user3653474

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.09 01:50:26