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

JavaScript创建对象报Unexpected identifier语法错误排查

编辑器代码高亮异常截图

报错原因

抛出SyntaxError: Unexpected identifier且错误定位到对象的name属性行,本质是JS解析器没有把你写的大括号识别为对象字面量的起始标记,将后续的键值对判定为非法语法,常见触发场景:

  • 对象定义的上一行存在语法缺失:比如括号/大括号未闭合、语句末尾漏写分号,导致解析上下文错乱
  • 对象赋值语法写错:比如漏写赋值等号,直接写self { name: 'xxx' },解析器会把self识别为单独语句,后面的大括号被当成独立代码块,name:就成了无法识别的非法标识符
  • 注意:JS中self是宿主环境提供的全局只读属性,指向全局上下文,未做变量声明的前提下直接给self赋值新对象本身就会触发隐性异常,进一步加剧解析错误。

编辑器显示代码为蓝色而非对象属性的预期高亮色,就是语法解析失败的前端表现,和运行时报错是同一个问题导致的。

修复方案

按以下步骤排查修正:

  1. 定位到报错行上方紧邻的代码,逐行检查所有大括号、小括号是否成对闭合,补全遗漏的分号、括号
  2. 修正对象定义的语法,标准对象创建写法参考:
// 优先用自定义变量存储创建的对象,不要直接修改全局self
const user = {
  name: 'Gustavo',
  // 其余对象属性按相同格式续写即可
}

如果确实需要给全局self挂载属性,不要直接在self后拼接大括号,按属性赋值或正确赋值语法写:

// 挂载单个属性
self.name = 'Gustavo'

// 给self赋值新对象(非必要不推荐,全局self默认只读,部分环境会直接报错)
self = {
  name: 'Gustavo'
}
  1. 修正后重新运行代码,语法报错会直接消失,编辑器的语法高亮也会恢复正常。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.27 23:39:25