无法在Node v8.3.0中传播对象

时间:2017-11-21 13:23:55

标签: javascript node.js ecmascript-6

我正在尝试在节点v8.3.0中的对象上使用spread,但它无法正常工作。切换到最新的LTS版本(v8.9.1),仍然没有运气。据我所知,扩展分配仅适用于阵列或迭代,因为节点v6,但显然v8.3.0带有对象扩展。任何人都可以证实这一点,如果是的话,它能为你效力吗?

例如,

const data = {
    custom_data1: "NodeJS",
    custom_data2: "Spring",
    custom_data3: "Kitura"
}

console.log(...data) // this returns 'undefined is not a function'.

更新:我在之前的帖子中提到了解构,搞砸了。我的意思是传播。谢谢那些纠正我的人!欣赏它。

2 个答案:

答案 0 :(得分:4)

在目标上放置花括号。它应该是:

var data = {
    custom_data1: "NodeJS",
    custom_data2: "Spring",
    custom_data3: "Kitura",
};

console.log({ ...data });

答案 1 :(得分:0)

var data1 = {
    custom_data1: "NodeJS",
    custom_data2: "Spring",
    custom_data3: "Kitura"
}

var data2 = {
    new_key: "Spring",
    custom_data3: "Overwrite"
}

console.log({...data, ...data2}) 

试试这个