Erro de Sintaxe: faltando : depois da propriedade id

Mensagem

SyntaxError: missing : after property id

Tipo de erro

O que deu errado?

Ao criar objetos com a sintaxe do iniciador do objeto, dois pontos (:) separam chaves e valores para as propriedades do objeto.

var obj = { propertyKey: 'value' };

Exemplos

Dois-pontos contra sinal de igualdade

Este código falha, pois o sinal de igualdade não pode ser usado dessa maneira nesta sintaxe do iniciador do objeto.

var obj = { propertyKey = 'value' };
// SyntaxError: missing : after property id

Correto seria usar um dois-pontos, ou usar colchetes para atribuir uma nova propriedade depois que o objeto já foi criado.

var obj = { propertyKey: 'value' };

// or alternatively

var obj = { };
obj['propertyKey'] = 'value';

Propriedades vazia

Você não pode criar propriedades vazias como esta:

var obj = { propertyKey; };
// SyntaxError: missing : after property id

Se você precisa definir uma propriedade sem um valor, você pode usar null como um valor.

var obj = { propertyKey: null };

Propriedades computadas

Se você criar uma chave de propriedade de uma expressão, você precisa usar colchetes. Caso contrário, o nome da propriedade não pode ser computado:

var obj = { 'b'+'ar': 'foo' };
// SyntaxError: missing : after property id

Coloque a expressão entre parênteses []:

var obj = { ['b'+'ar']: 'foo' };

Veja também