Javascript JS,将对象属性设置为另一个对象属性的值

Javascript JS,将对象属性设置为另一个对象属性的值,javascript,node.js,Javascript,Node.js,我想为对象属性提供一个值,但它来自另一个对象。情况是这样的: c.query('SELECT `' + field + '` FROM `table` WHERE `' + field + '` = :' + field, { field: value }) .on('result', function(res) { res.on('row', function(row) { callback

我想为对象属性提供一个值,但它来自另一个对象。情况是这样的:

    c.query('SELECT `' + field + '` FROM `table` WHERE `' + field + '` = :' + field,
            { field: value })
        .on('result', function(res) {
            res.on('row', function(row) {
                callback(inspect(row));
            });
        });
我想通过发送object
{field:'someField',value:'someValue'}
的方式自动化它,并使用引用在上面代码的第二行中设置对象的属性

我想出了这个密码:

    var a = {
        field: 'email',
        value: 'john.doe@gmail.com'
    };

    var b = {
        [a.field]: a.value
    };

    console.log(b);
它在这里确实可以工作:,但在实际的node.js服务器脚本中,它返回错误
意外的标记“[”
,因此我无法从另一个对象属性引用中设置对象属性。有人知道吗?

b={};
b[a.字段]=a.值;


是最接近您的表示形式,它将在我怀疑的JS版本中工作。

这是我在JSFIDLE link中提供的,它在实际中不起作用environment@patrickmevia.这个答案将空对象的初始化分开,然后使用括号访问符号添加属性名n、 您正在尝试一次性完成此操作。在ECMAScript的Harmony版本之前,这是不受支持的。请看,是的,thxSo,另一个解决方案是从节点跳到io.js。在您的真实世界中,在“b”中定义了“a”并在访问它时设置了值?如果将a引入到节点环境中,您的代码将对象文本的动态属性赋值是ES6规范的一部分,它的支持非常有限,但是如果您传输代码,它就可以正常工作。