我想为object属性提供一个值,但它来自另一个对象。这是这样的情况:
c.query('SELECT `' + field + '` FROM `table` WHERE `' + field + '` = :' + field,
{ field: value })
.on('result', function(res) {
res.on('row', function(row) {
callback(inspect(row));
});
});
我想以我发送对象{field: 'someField', value: 'someValue'}
的方式自动化它,并且我在上面的代码的第二行中使用了对象的set属性的引用。
我想出了这段代码:
var a = {
field: 'email',
value: 'john.doe@gmail.com'
};
var b = {
[a.field]: a.value
};
console.log(b);
它在这里工作:jsFiddle,但在实际的node.js服务器脚本中它返回错误unexpected token "["
所以它就像我不能从另一个对象属性引用设置对象属性。有人有想法吗?
答案 0 :(得分:2)
b = {};
b[a.field] = a.value;
是最接近您的表示形式,可以在我怀疑的JS版本中使用。