可能重复:
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"
};
答案 0 :(得分:149)
您可以使用[]
语法将表达式用作属性名称(与.prop
和prop: 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";