variables作为JavaScript对象文字中的属性名称?

可能重复:
如何使用variables作为名称将属性添加到Javascript对象?
在JavaScript文字中使用variables的属性名称?

是否可以在JavaScript中添加一个variables作为对象的属性名称,如下所示:

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

您可以使用[]语法将expression式用作属性名称(与.propprop: value语法相比,它们始终被视为string):

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

尽pipe如此,在对象文字中没有办法使用它。 您必须先创build对象,然后分别分配每个属性。


编辑

使用ES6,现在可以使用ComputedPropertyName ,它以下面的语法forms显示:

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

喜欢这个?

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

是的,但不是直接的。

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