当您使用字符串变量来设置属性名称时,为什么它会使用变量本身的名称呢?

时间:2016-06-06 20:29:01

标签: javascript ecmascript-6

我们正在使用一些新的ECMAScript东西,所以我不知道这是不是正在发生的事情。基本上我做:

var key = "foo";
var obj = { key: "abc" };

并创建了obj.key属性而不是obj.foo属性。

enter image description here

1 个答案:

答案 0 :(得分:2)

这是一个属性名称,而不是一个可以作为变量的表达式。

在ES6中,您可以将其设为表达式:

var obj = { [key]: "abc" };