首页 > 解决方案 > TypeScript 从对象接口推断特定的属性类型

问题描述

说,我有这个界面:

interface MyObject {
  all: string[] | {[value: string]: string}
  some: string[]
}

在我的代码中,我有一个这种类型的对象,我对其进行解构,然后使用其中一个属性作为函数参数:

const {all, some} = myObject as MyObject

myFunction(all)

现在,当我定义函数时,我想以某种方式推断出接口的all类型MyObject。我怎么做?

function myFunction(all: ???) { ... }

我知道我可以像这样定义我的界面:

type All = string[] | {[value: string]: string}

interface MyObject {
  all: All
  some: string[]
}

然后All在我的函数定义中使用类型,但是是否可以从对象接口推断属性的类型?

标签: typescript

解决方案


推荐阅读