in javascript is it possible to construct an object literal with expressions evaluating to strings for property names? [duplicate]
This question already has an answer here: How to use a variable for a key in a JavaScript object literal? 12 answers i.e. is it possible to do this: var fruit = "banana"; var x = { "app" + "le" : 5, // "apple" : 5 function(){return "orange"} : 8, // "orange" : 8 "" + fruit : 3 // "banana" : 3 }; No, you can't, you need to feed it after the first initialization : var myKeyName = "bar"; x[myKeyName] = "foo"; You need to declare the empty object and build the strings after. An object literal expects valid strings for its names If you don't run the function for 'orange' as well as define it, the