在JS对象中使用变量名

Using variable name in JS object?

本文关键字:变量名 JS 对象      更新时间:2023-09-26

我定义了一个变量来获取用户的输入:

var input = USER_INPUT;

然后,我创建一个对象,它将使用这个input作为对象内部的变量名:

var obj = { input: Car.newCar(...)}

然后,我尝试访问obj[input],但它返回给我undefined。是这样的,在javascript中,我不能使用变量作为对象的变量名?

如果我想定义一个变量名和变量值不同的对象,我该怎么做?

所以我猜您希望将输入存储在以输入本身命名的键下。
您可以使用[]方法对Car.newCar()返回的值进行赋值:

var input = "some text";
var obj = {};
obj[input] = Car.newCar();

抱歉重读问题后更改了答案

var USER_INPUT = 'something';
var obj = {};
obj[USER_INPUT] = 'value';
obj.something ; //# => value
obj['something'] ; //# => value
obj[USER_INPUT]; //# => value