2016-07-15 121 views

回答

3

這是destructuring的一個示例。

你可以看到這一點:

let items = (state: any = [], {type, payload}) => { 

}; 

編譯成的打字稿playground

var items = function (state, _a) { 
    if (state === void 0) { state = []; } 
    var type = _a.type, payload = _a.payload; 
}; 

,並從我可以推斷,這意味着該函數的第二個參數將是一個具有稱爲「類型」的屬性的對象,以及稱爲「有效載荷」的另一屬性。此外,我將能夠直接引用我的函數體「類型」和「有效載荷」:

let items = (state: any = [], {type, payload}) => { 
    console.log(type); 
    console.log(payload); 
}; 

let myobj = { 
    payload: "blue", 
    type: "no-type" 
} 

items(null, myobj); 
+3

只是作爲附錄,這是ES6規範的一部分,這也不是唯一的TS。 請參閱:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Destructuring_assignment – jthereliable

+0

@jthereliable謝謝! – Seamus

相關問題