2017-09-08 358 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

相關問題