ES6解构具有相同属性名称的两个对象

时间:2017-09-08 17:03:44

标签: javascript ecmascript-6 destructuring

我有两个带有下一个语法的javascript对象:

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

和一个期望那些对象的函数,但在函数中我只使用每个对象的名称,所以我想知道我是否可以在函数的声明中解构这两个对象,如:

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

第一个应该是section.name,第二个应该是field.name

在这种情况下,有两种方法可以进行解构吗?或者我应该只查看函数中的名字?

哪个更好?

谢谢。

1 个答案:

答案 0 :(得分:14)

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

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

<强> DEMO