Question

I want to use a dynamic key name during the creation of the object.

var myKey = 'text';
var myObj = {
    [myKey]: 'Hello'  // not working
};
alert(myObj.text);

I know you can do it on the next line after the object is created myObj[key] = 'someValue', but I was curious about doing it when you're creating the object.

There's a plethora of similar questions about it, but they all do it after the object has been created using the [] notation.

No correct solution

OTHER TIPS

Is it really worth it to save one line? I guess if you really want to be hacky, you could do this:

var myKey = 'text';
var myObj = JSON.parse( '{"' + myKey + '": "Hello"}' );
alert(myObj.text);

I would actually just declare the object and set the key

var myKey = 'text';
var myObj = {};
myObj[myKey] = "Hello";
alert(myObj.text);
Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top