/ / Variable comme nom de propriété dans un objet littéral JavaScript? [dupliquer] - javascript

Variable comme nom de propriété dans un littéral d'objet JavaScript? [dupliquer] - javascript

Duplication possible:
Comment ajouter une propriété à un objet Javascript en utilisant une variable comme nom?
Utilisez la variable pour le nom de la propriété dans JavaScript littéral?

Est-il possible d'ajouter une variable en tant que nom de propriété d'un objet en JavaScript, comme ceci:

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

Réponses:

135 pour la réponse № 1

Vous pouvez utiliser le [] syntaxe pour utiliser un expression comme nom de propriété (par rapport au .prop et prop: value syntaxes où ils sont toujours traités comme des chaînes de caractères):

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

Il n'y a cependant aucun moyen de l'utiliser dans un objet littéral. Vous devez d'abord créer l'objet, puis affecter chaque propriété séparément.


modifier

Avec ES6, cela est maintenant possible avec un ComputedPropertyName, qui se manifeste sous la forme de la syntaxe suivante:

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

9 pour la réponse № 2

Comme ça?

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

myObject[myVar] = "value";

6 pour la réponse № 3

Oui, mais pas directement.

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