Javascript 使用重命名和键入信息分解分配

Javascript 使用重命名和键入信息分解分配,javascript,typescript,destructuring,Javascript,Typescript,Destructuring,如何在保持键入信息的同时将变量分解为新名称 renderItem({item:'apple'}) // jsx: function renderItem({item: region}) { // region == 'apple' return <div>{region}</div>; } renderItem({item:'apple'}) //jsx: 函数renderItem({item:region}){ //地区==“苹果” 返回{区域};

如何在保持键入信息的同时将变量分解为新名称

renderItem({item:'apple'})

// jsx:
function renderItem({item: region}) {
    // region == 'apple'
    return <div>{region}</div>;
}
renderItem({item:'apple'})
//jsx:
函数renderItem({item:region}){
//地区==“苹果”
返回{区域};
}
上述操作将使用item对对象进行分解,并将其分配给
区域


如何表示此函数签名的键入信息?

按如下方式键入传入项:

function renderItem({item: region}:{item:string}){}

有关功能键入的信息,请参见TypeScript 2.1文档:

对象休止符是对象排列的双重属性,因为它们可以提取在分解元素时无法提取的任何额外属性:

当使用该特性的其余部分时,它通过使我们能够将其余属性收集到由它们组成的新对象中,从而增强了对象的分解

我们可以像编写任何其他值一样编写类型注释。这是首选,因为它可以阻止您的函数签名变得冗长,例如

interface IRenderItem {
  item: String
}

function renderItem({ item: region }: IRenderItem): void {
  console.log(item);
}

仅供参考,我在SO上的任何地方都找不到此信息,所以在我找到它之后,我将其发布在这里,以便其他人找到遇到相同问题的人。感谢您提供更详细的解释!