2016-07-15 130 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

相关问题