我从没想过我会遇到这样的问题,但是你知道吗。
var prop = 'horses'
console.log({
prop: 1
});
我怎样才能产生一个带有属性的对象,horses
而不是用prop
一行完成?因为我能想到一种解决方案,但我真正想要的是单线。
您可以使用方括号表示法:
var obj = {};
obj[prop] = 1;
console.log(obj);
在JavaScript中,您可以通过点表示法和文字名称(foo.bar
)或带字符串名称(foo["bar"]
)的括号表示法来引用属性。在后一种情况下,字符串可以是任何表达式的结果,包括(在您的情况下)变量引用。
...但是我真正想要的是单线。
但是,作为对象初始化程序的一部分,没有办法做到这一点,您必须单独进行。如果需要单线,则需要执行一个函数调用,例如:
console.log(makeObj(prop, 1));
这里makeObj
是
function makeObj(propName, propValue) {
var obj = {};
obj[propName] = propValue;
return obj;
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句