SyntaxError: missing } after property list

JavaScript 异常“属性列表后缺少 }”发生在 对象初始化器 语法有误时。实际上可能缺少一个花括号,但也可能缺少一个逗号。

消息

SyntaxError: missing } after property list (Firefox)
SyntaxError: Unexpected identifier 'c'. Expected '}' to end an object literal. (Safari)

错误类型

SyntaxError

哪里出错了?

对象初始化器 语法某处有误。例如,实际上可能缺少一个花括号,但也可能缺少一个逗号。同时检查所有闭合花括号或圆括号的顺序是否正确。更好地缩进或格式化代码也可能帮助你看清其中的复杂结构。

示例

忘记逗号

通常,你的对象初始化器代码中缺少一个逗号

js
const obj = {
  a: 1,
  b: { myProp: 2 }
  c: 3
};

正确的方法是:

js
const obj = {
  a: 1,
  b: { myProp: 2 },
  c: 3,
};

另见