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' };

Смотрите также