我正在尝试创建一个像这样的字典对象
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/