You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

在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-

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.26 03:42:01