2017-09-08 286 views
1

我有两个JavaScript对象的下一个语法:ES6解构两个对象具有相同的属性名称

var section = { name: "foo", tables: [] } 
var field = {name: "bar", properties: {} } 

,谁想到这些对象的功能,但功能仅限本人使用的每个对象的名称,所以我想知道如果我能在解构函数的声明两个对象,如:

function something({name}, {name}) { 
    //code 
} 

首先应该是section.name和第二应该是field.name

在这种情况下,有两种方法解构吗?或者我应该只观察函数中的名称?

哪个更好?

谢谢。

+0

您是否尝试过?有错误吗? –

+0

为什么你只是传递两个参数的每一个的名称属性,如果这是所有的使用?为什么要使用解构? – jfriend00

+0

当然,因为同样被称为命名为检索: 未捕获的语法错误:重复的参数名称在此方面不 –

回答

8

是啊,它看起来像你可以标记/重新分配参数:{before<colon>after}

function something({name:sectionName}, {name:fieldName}) { 
    console.log(sectionName, fieldName); // foo bar 
} 

DEMO

+1

+1,但是在制作时请使用一些更有意义的名字。 'something({name:sectionName},{name:fieldName})'。 – Amberlamps

相关问题