Typescript 函数签名中对象参数的含义是什么?

Typescript 函数签名中对象参数的含义是什么?,typescript,Typescript,函数签名中对象参数的含义是什么?我遇到了这个代码片段,我不确定这里发生了什么 export const items = (state: any = [], {type, payload}) => { case (type) { ... } }; 我不理解函数签名中的{type,payload}。这是一个示例 您可以看到这是什么: let items = (state: any = [], {type, payload}) => { }; 在TypeScript上

函数签名中对象参数的含义是什么?我遇到了这个代码片段,我不确定这里发生了什么

export const items = (state: any = [], {type, payload}) => {
  case (type) {
    ...
  }
};
我不理解函数签名中的{type,payload}。

这是一个示例

您可以看到这是什么:

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

};
在TypeScript上编译为:

由此我可以推断,这意味着函数的第二个参数将是一个对象,其属性名为“type”,另一个属性名为“payload”。此外,我将能够直接在我的函数体中引用“类型”和“有效载荷”:

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

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

items(null, myobj);

作为附录,这是ES6规范的一部分,而不是TS独有的内容。请参阅:@jThere,谢谢!
let items = (state: any = [], {type, payload}) => {
    console.log(type);
    console.log(payload);
};

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

items(null, myobj);