相关疑难解决方法(0)

将 TypeScript 联合类型分解为特定类型

我想知道是否可以在 TypeScript 中将联合类型“拆分”为特定的子类型。这是我尝试使用的代码,很明显我试图从代码段中实现:

type SplitType<T> =
T extends (infer A)|(infer B)
? Something<A, B>
: T;
Run Code Online (Sandbox Code Playgroud)

在这个例子中Something<A, B>可以是[A, B],或者是一个完全不同的类型。这意味着SplitType<string>只会输出 a string,但SplitType<number|string>意味着[number, string].

在 TypeScript 中可能有这样的事情吗?如果没有,将来是否有允许这样做的功能(例如可变参数类型)?

generics typescript union-types

1
推荐指数
2
解决办法
1591
查看次数

标签 统计

generics ×1

typescript ×1

union-types ×1