我正在尝试创建一个像这样的字典对象

var obj = { varName : varValue };

我所期望的是,如果varName='foo',obj应该是{'foo', 'some value' },但是我看到的是{varName, 'some value'},没有使用变量的值,而是使用变量名作为键。如何使可变值用作键?

最佳答案

尝试这样:

var obj = {};
obj[varName] = varValue;

在旧的Javascript中,您无法使用“动态”键初始化对象。 var obj = { varName : varValue };var obj = { "varName" : varValue };等效。这就是Javascript的解释方式。

但是,新的ECMAScript支持computed property names,您可以执行以下操作:
var obj = { [varName]: varValue };

关于javascript - JavaScript字典的键不是作为值存储,而是作为变量名存储,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/10640159/

10-11 03:02