ReactJS中访问含数字0键的嵌套JSON属性报错的解决方法
报错原因
JavaScript点号.属性访问语法要求,点号后必须是合法标识符(标识符禁止以数字开头)。你代码路径中的0是数字类型的数组索引,不符合点语法的使用规则,因此触发语法错误。
正确写法
数字类型的键/数组索引需要用方括号[]语法访问,修正后的代码如下:
console.log(actualData.chart.result[0].meta.currency);
补充说明:该接口返回结构中
result是数组类型,[0]即取数组的第一个元素,拿到该元素后就可以继续用点语法向下访问meta节点下的currency值。
如果需要避免中间某层不存在时抛出类型错误,可以使用可选链操作符做安全访问:
console.log(actualData?.chart?.result?.[0]?.meta?.currency);
该写法下任意访问层级为空时,会直接返回undefined,不会中断代码运行。
内容的提问来源于stack exchange,提问作者mdkb
相关产品推荐
相关产品推荐

