SyntaxError: missing : after property id
Сообщение
SyntaxError: missing : after property id
Тип ошибки
Что пошло не так?
При создании объекта с помощью инициализатора объекта, двоеточие (:
) разделяет ключи и значения свойств объекта.
var obj = { propertyKey: "value" };
Примеры
Двоеточие vs. знака равенства
Этот код не работает, потому что знак равенства не может быть использован при инициализации объекта.
var obj = { propertyKey = 'value' };
// SyntaxError: missing : after property id
Корректно будет использовать двоеточие или квадратные скобки для назначения нового свойства после того, как объект уже был создан.
var obj = { propertyKey: "value" };
// or alternatively
var obj = {};
obj["propertyKey"] = "value";
Пустые свойства
Вы не можете создать пустые свойства, подобные этому:
var obj = { propertyKey; };
// SyntaxError: missing : after property id
Если вам необходимо задать свойство без значения, то вы можете использовать null
.
var obj = { propertyKey: null };
Вычисляемые свойства
Если вы создаёте ключ свойства из выражения, то вам необходимо использовать квадратные скобки. В противном случае имя свойства не будет вычислено:
var obj = { 'b'+'ar': 'foo' };
// SyntaxError: missing : after property id
Поместите выражение в скобки []
:
var obj = { ["b" + "ar"]: "foo" };