2017-02-21 32 views
0

我有一個特定的用例,我想做一個嵌套的解構和分配一個別名(將其重命名爲另一個變量名稱,如aliasD)以及屬性的默認值。例如。如何使用ES6分層結構添加默認值和別名?

const a = { b: { c: [{ d: 'value' }] } }; 

,雖然解構我只需要d但有一個別名aliasD和默認值defaultVal。於是,我就在下面,但我不知道我失蹤

const a = { b: { c: [{ d: 'value' }] } }; 
 
const { b: { c: [first: { d: aliasD = defaultVal }] } } = a; 
 

 
console.log(aliasD);

但這不起作用

+0

你能告訴你下手,你想結束了呢?我不清楚這一點。 – jfriend00

+0

爲什麼那裏有'第一個'? – Li357

+0

@ jfriend00問題的第一行沒有說明我想要使用別名還是默認值進行解構?不知道你還在找什麼? –

回答

1

這裏的問題是解構的陣列,使用正確的語法獲取數組的第一個值將是:

[varName] = yourArray 

應用,爲您的例子:

const { b: { c: [{ d: aliasD = 'test' }] } } = a; 

你可以嘗試一下Babel REPL

+0

我想我爲默認添加了額外的引號,但是看看你的答案,這對數組解構是有意義的。 –

+0

@AdityaSingh其實我誤解你的代碼。唯一的問題是數組解構。我會編輯我的答案 – Lucas