Javascript 我是否可以向对象添加一个键值对,并使该键等于一个变量?
我想给一个对象添加一个键值对,但我希望键值等于一个变量。我的意思是:Javascript 我是否可以向对象添加一个键值对,并使该键等于一个变量?,javascript,object,variables,Javascript,Object,Variables,我想给一个对象添加一个键值对,但我希望键值等于一个变量。我的意思是: var variable; Object.assign(myObject, {variable: value}) 有没有办法做到这一点 使用以下代码将变量用作键。使用[]运算符将变量值设置为键 const key = "variableKey"; const object = {}; Object.assign(object, {[key]: 'value'}); 您不需要使用Object.assign(),只需将
var variable;
Object.assign(myObject, {variable: value})
有没有办法做到这一点 使用以下代码将变量用作键。使用
[]
运算符将变量值设置为键
const key = "variableKey";
const object = {};
Object.assign(object, {[key]: 'value'});
您不需要使用
Object.assign()
,只需将密钥直接添加到对象:
var variable = "value";
myObject[variable] = variable;
根据MDN文件: 对象属性名称可以是任何有效的JavaScript字符串,也可以是任何可以转换为字符串的内容,包括空字符串 请注意,方括号表示法中的所有键都转换为字符串,除非它们是符号,因为JavaScript对象属性名称(键)只能是字符串或符号 在浏览器控制台中尝试一下,该键将命名为
“[object object]”
,调用obj.toString()
的结果相同:
ES6引入计算属性名称后,@GeorgeJempty的可能重复项不相关
{[computed]:somveValue}
@VLAZ肯定最相关。这个问题仍然可以接受反映ES6的答案。在这里总是发生这样的事情。
let obj = {}
obj[new Object] = 'val'
console.log(obj)