Variable as the property name in a JavaScript object literal?

javascript

Solution

Edit

With ES6, this is now possible using a ComputedPropertyName, which manifests in the form of the following syntax:

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

You can use the `[]` syntax to use an expression as the property name (compared to the `.prop` and `prop: value` syntaxes where they are always treated as strings):

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

There is no way to use that inside an object literal, though. You have to create the object first and then assign each property separately.

Problem

Possible Duplicate: How do I add a property to a Javascript Object using a variable as the name? Use variable for property name in JavaScript literal? Is it possible to add a variable as the property name of an object in JavaScript, like this: ``` var myVar = "name"; var myObject = { {myVar}: "value" }; ```

Original source

Related problems