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

时间:2012-06-15 00:05:01

标签: javascript

  

可能重复:
  How do I add a property to a Javascript Object using a variable as the name?
  Use variable for property name in JavaScript literal?

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

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

3 个答案:

答案 0 :(得分:149)

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

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

但是,没有办法在对象文字中使用它。您必须先创建对象,然后单独分配每个属性。


修改

使用ES6,现在可以使用ComputedPropertyName,它以下列语法的形式显示:

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

答案 1 :(得分:10)

喜欢这个吗?

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

myObject[myVar] = "value";

答案 2 :(得分:7)

是的,但不是直接的。

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