Existem duas notações diferentes para acessar propriedades do objeto
- Notação de ponto : myObj.prop1
- Notação de colchete : myObj ["prop1"]
A notação de ponto é rápida e fácil, mas você deve usar o nome real da propriedade explicitamente. Sem substituição, variáveis, etc.
A notação do suporte é aberta. Ele usa uma sequência, mas você pode produzi-la usando qualquer código js legal. Você pode especificar a string como literal (embora, nesse caso, a notação de pontos seja mais fácil) ou usar uma variável ou calcular de alguma forma.
Então, todos estes definir o myObj propriedade chamada prop1 ao valor Olá :
// quick easy-on-the-eye dot notation
myObj.prop1 = "Hello";
// brackets+literal
myObj["prop1"] = "Hello";
// using a variable
var x = "prop1";
myObj[x] = "Hello";
// calculate the accessor string in some weird way
var numList = [0,1,2];
myObj[ "prop" + numList[1] ] = "Hello";
Armadilhas:
myObj.[xxxx] = "Hello"; // wrong: mixed notations, syntax fail
myObj[prop1] = "Hello"; // wrong: this expects a variable called prop1
tl; dnr : Se você quiser calcular ou fazer referência a chave que você deve usar notação de colchetes . Se você estiver usando a chave explicitamente, use a notação de ponto para obter um código claro simples.
Nota: existem outras respostas boas e corretas, mas eu pessoalmente as achei um pouco breves, provenientes de uma baixa familiaridade com a peculiaridade do JS on-the-fly. Isso pode ser útil para algumas pessoas.