Javascript 无法在节点v8.3.0中展开对象
我试图在节点v8.3.0中的对象上使用排列,但它不起作用。切换到最新的LTS版本(v8.9.1),但仍然运气不佳。我知道自NodeV6以来,排列分配仅适用于阵列或iterables,但显然v8.3.0附带了对象排列。有人能证实这一点吗?如果是的话,它对你有用吗 比如说,Javascript 无法在节点v8.3.0中展开对象,javascript,node.js,ecmascript-6,Javascript,Node.js,Ecmascript 6,我试图在节点v8.3.0中的对象上使用排列,但它不起作用。切换到最新的LTS版本(v8.9.1),但仍然运气不佳。我知道自NodeV6以来,排列分配仅适用于阵列或iterables,但显然v8.3.0附带了对象排列。有人能证实这一点吗?如果是的话,它对你有用吗 比如说, const data = { custom_data1: "NodeJS", custom_data2: "Spring", custom_data3: "Kitura" } console.log(.
const data = {
custom_data1: "NodeJS",
custom_data2: "Spring",
custom_data3: "Kitura"
}
console.log(...data) // this returns 'undefined is not a function'.
更新:我在之前的帖子中提到了解构,结果搞砸了。我的意思是说传播。谢谢那些纠正我的人!感激它。在靶子上戴上花括号。应该是:
var数据={
自定义数据1:“NodeJS”,
自定义数据2:“弹簧”,
自定义数据3:“Kitura”,
};
log({…data})代码>
试试这个对象分解?这是扩展语法。为了解构语法是const{custom_data1}=data
它在Chrome中做同样的事情,这不是节点的问题,这是你的语法和你想做的事情的问题,正如@Li357提到的,这是扩展语法。@KonradD我希望该对象登录到控制台。不过,这只是一个示例,实际代码是我试图将一个对象分解为另一个对象。类似这样:const-data1={name:'Aravind',id:'92'}让newData={……data1,country:'malaya',bloodType:'O-}
const-data1={name:'Aravind',id:'92'};让newData={…data1,国家:'Malaysia',血型:'O-'}
在节点8.9.1(当前LTS版本)中运行良好。
var data1 = {
custom_data1: "NodeJS",
custom_data2: "Spring",
custom_data3: "Kitura"
}
var data2 = {
new_key: "Spring",
custom_data3: "Overwrite"
}
console.log({...data, ...data2})