考虑以下代码:
let mystr = 'abc';
let obj = {mystr: 'bla'};
console.log(obj);
为什么输出
{ mystr: 'bla' }
而不是
{ 'abc': 'bla' }
答案 0 :(得分:3)
您正在寻找计算对象属性。
let mystr = 'abc';
let obj = {[mystr]: 'bla'};
console.log(obj);
答案 1 :(得分:1)
这是一个重复的重复
let mystr = 'abc';
let obj = {[mystr]: 'bla'};
console.log(obj);
答案 2 :(得分:0)
尝试以下方法:
let mystr = 'abc';
let obj = {};
obj[mystr] = "bla";
console.log(obj);

答案 3 :(得分:0)
let obj = {mystr: 'bla'};
将由javascript处理,考虑key
的名称为mystr
,因为对象是使用{key: value}
声明的,但是如果您需要将变量的值渲染为key
的名称然后您需要使用方括号表示obj[mystr] = 'bla';
,因为这会强制JavaScript运行时将mystr
的值呈现为key
的名称。
let mystr = 'abc';
let obj = {};
obj[mystr] = 'bla';
console.log(obj);