gpt4 book ai didi

typescript - 如何从联合中提取单一类型?

转载 作者:搜寻专家 更新时间:2023-10-30 21:05:12 27 4
gpt4 key购买 nike

假设我有这种类型:

类型 FooArray = IFoo[] |数字[] |未定义

是否可以从中提取IFoo

最佳答案

是的。自 TypeScript 2.8 supports conditional types你可以这样做:

interface IFoo { 
name: string
}

type FooArray = IFoo[] | number[] | undefined

type FindType<TWhere> = TWhere extends (infer U)[] ? (U extends object ? U : never) : never

type FoundType = FindType<FooArray> // FoundType == IFoo

请注意 U extends object ? U : never 是必需的,因此 number 不匹配。

关于typescript - 如何从联合中提取单一类型?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52330620/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com