在TypeScript泛型中对字符串进行条件判断是否可行?
可以实现,只需调整条件判断语法
TypeScript支持条件类型来实现这种泛型分支逻辑,但需要把你写的===(值层面的相等判断)换成类型层面的extends关键字——因为类型系统里的条件判断依赖类型兼容性,而非值相等。
正确的实现代码如下:
type WheneverPossible<T extends "boy" | "girl"> = T extends "boy" ? { numOfBalls: number } : { numOfDolls: number }
效果验证
当传入不同的泛型参数时,会得到对应的目标类型:
type BoyProps = WheneverPossible<"boy">; // 类型为 { numOfBalls: number } type GirlProps = WheneverPossible<"girl">; // 类型为 { numOfDolls: number }
内容的提问来源于stack exchange,提问作者Islam Y-
相关产品推荐
相关产品推荐

