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

如何在TypeScript类型系统中检查类型是否包含null类型?

在TypeScript类型层面检查是否包含null类型

当然可行,你可以用TypeScript的条件类型来实现类型层面的检查,核心思路是判断null是否属于目标类型的子类型,类似你想要的“in关键字”语义。

首先定义一个通用的工具类型:

type HasNull<T> = null extends T ? true : false;

然后把你的两个类型代入测试:

type TransactionCategory = "B2B"| "SEZWP" | "SEZWOP" | "EXPWP" | "EXPWOP" | "DEXP" | null;
type DutyStatus = "WPOD" | "WOPOD";

// 结果为true,说明TransactionCategory包含null类型
type HasNullInTransaction = HasNull<TransactionCategory>;
// 结果为false,说明DutyStatus不包含null类型
type HasNullInDuty = HasNull<DutyStatus>;

这个判断完全在类型系统层面完成,不需要任何运行时实例,通过null extends T的条件判断,就能精准检测目标类型是否包含null成员。

内容的提问来源于stack exchange,提问作者Stefc

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.11 17:15:43