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

为什么@babel/parser解析对象时报Missing semicolon错误?

错误含义

Missing semicolon. (3:9) 表示解析器在代码第3行第9列的位置,预期需要匹配一个分号作为语句结束标识,但实际没有找到对应的分号。


是否为@babel/parser无法正确解析对象?

不是,这个报错是JavaScript本身的语法规则导致的,和解析器能力无关:

  • 当代码直接以{作为开头时,JavaScript解析器会默认将其识别为块级作用域语句,而非对象字面量
  • 你写的代码里的name: 'test'会被判定为带标签的表达式语句:name是语句标签,'test'是单独的字符串表达式,这种写法本身语法合法
  • 到第3行}之前,解析器判定前一行的company: 'test company'作为独立语句应该以分号收尾,因此抛出缺少分号的错误

解决方案

只要明确告知解析器这是对象字面量即可,常见的写法有两种:

  • 将对象赋值给变量:
const obj = {
  name: 'test',
  company: 'test company',
}
  • 用括号包裹对象,强制让解析器将内容识别为表达式:
({
  name: 'test',
  company: 'test company',
})

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.27 06:54:04