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

简单JavaScript代码运行报Unexpected token '.'语法错误如何解决

错误产生原因
  • 该报错是因为你当前运行代码的JavaScript环境不支持可选链操作符(?.),可选链是ES2020(ES11)才正式发布的新语法,低于14.0.0版本的Node.js、IE浏览器、未配置语法降级插件的旧版编译工具都无法识别该语法,会把?.中的第二个.判定为非法字符,从而抛出语法错误。
修复方案

方案1:替换为全兼容的传统写法(无需修改环境,通用)

手动拆解可选链的嵌套判断逻辑,修改后代码如下:

const fee = t.transaction_info.hasOwnProperty("fee_amount")
          ? -(t.transaction_info && t.transaction_info.fee_amount && t.transaction_info.fee_amount.value)
          : 0;

如果你已经能确定t.transaction_info字段一定存在,还可以进一步简化:

const fee = t.transaction_info.hasOwnProperty("fee_amount")
          ? -t.transaction_info.fee_amount.value
          : 0;

方案2:升级环境/配置语法支持

  • Node.js运行场景:将Node.js版本升级到14.0.0及以上,该版本开始原生支持可选链语法。
  • 前端浏览器运行场景:如果无需兼容低版本浏览器可以直接使用,需要兼容的话在babel配置中添加@babel/plugin-proposal-optional-chaining插件做语法降级即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.28 23:06:05