我想在对象的创建期间使用动态密钥名称。
var myKey = 'text';
var myObj = {
[myKey]: 'Hello' // not working
};
alert(myObj.text);
我知道你可以在创建对象myObj[key] = 'someValue'
之后在下一行执行此操作,但我很好奇在创建对象时这样做。
关于它有很多类似的问题,但是在使用[]
符号创建对象后,它们都会这样做。
答案 0 :(得分:1)
保存一条线真的值得吗?我想如果你真的想成为hacky,你可以这样做:
var myKey = 'text';
var myObj = JSON.parse( '{"' + myKey + '": "Hello"}' );
alert(myObj.text);
我实际上只是声明对象并设置密钥
var myKey = 'text';
var myObj = {};
myObj[myKey] = "Hello";
alert(myObj.text);