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.

js
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.

js
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.

js
var obj = { propertyKey: "value" };

// or alternatively

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

Propriedades vazia

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

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

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

js
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:

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

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

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

Veja também