在 TypeScript 中键入匿名对象的属性

Typing the properties of an anonymous object in TypeScript

提问人:Mick McCarthy 提问时间:11/17/2020 更新时间:11/17/2020 访问量:1057

问:

我有一个函数:

function someFunction({ propertyA, propertyB })
{
  return 1;
}

我想为函数参数中的匿名对象中的属性提供显式类型,但是为此()使用典型的TypeScript语法将导致类型被放置在value通常所在的位置,因为对象字面意思是“左边的属性具有右边的值”。propertyA: boolean:

我想知道我该怎么做?编译器向我发出有关隐式具有类型的属性的警告。抱歉,这可能是非常基本的,但我在谷歌上搜索了一下,在这个网站上,找不到任何解决这个特定问题的东西。any

TypeScript 类型 匿名对象

评论


答:

2赞 spender 11/17/2020 #1
function someFunction({ propertyA, propertyB }: {propertyA: boolean; propertyB: number }){
    //...

或者,更好的是:创建一个显式类型:

interface SomeFunctionOpts{
    propertyA: boolean; 
    propertyB: number;
}

function someFunction({ propertyA, propertyB }: SomeFunctionOpts) {
    //...