/ / Variável como o nome da propriedade em um literal de objeto JavaScript? [duplicado] - javascript

Variável como o nome da propriedade em um literal de objeto JavaScript? [duplicado] - javascript

Duplicar Possível:
Como adiciono uma propriedade a um objeto Javascript usando uma variável como o nome?
Usar variável para o nome da propriedade no literal JavaScript?

É possível adicionar uma variável como o nome da propriedade de um objeto em JavaScript, assim:

var myVar = "name";
var myObject = {
{myVar}: "value"
};

Respostas:

135 para resposta № 1

Você pode usar o [] sintaxe para usar um expressão como o nome da propriedade (comparado ao .prop e prop: value sintaxes onde são sempre tratadas como strings):

var myObject = {};
var myVar = "name";
myObject[myVar] = "value";

Não há como usar isso dentro de um literal de objeto. Você deve criar o objeto primeiro e depois atribuir cada propriedade separadamente.


Editar

Com o ES6, isso agora é possível usando um ComputedPropertyName, que se manifesta na forma da seguinte sintaxe:

var myVar = "name";
var myObject = {
[myVar]: "value"
};

9 para resposta № 2

Como isso?

var myVar = "name";
var myObject = {};

myObject[myVar] = "value";

6 para resposta № 3

Sim, mas não diretamente.

var myVar = "name";
var object = {};
object[myVar] = "value";