如何使用为某些字段指定的值创建子类型并删除typescript中的可选成员

dbf7pr2w  于 2022-12-14  发布在  TypeScript
关注(0)|答案(1)|浏览(96)
interface A{ 
prop1:string,
prop2:boolean,
prop3?:boolean
}
interface B extends A{
prop1='some real value',
prop2:boolean
}

我想做一些类似上面,我也想知道如果一些类似的东西可以通过类型以及实现。任何帮助感激。

yzckvree

yzckvree1#

假设您的目标是删除使用类型而不是接口的可选属性,您可以执行如下操作:

type A = { 
  prop1: string,
  prop2: boolean,
  prop3?: boolean
}

type B = {
    [K in keyof A as A[K] extends Required<A>[K] ? K : never]: A[K]
}

相关问题