【发布时间】:2020-11-18 22:42:22
【问题描述】:
我是条件类型的新手,所以我尝试了最明显的静态方式,没有成功:
type NoUnion<Key> =
Key extends 'a' ? 'a' :
Key extends 'b' ? 'b' :
never;
type B = NoUnion<'a'|'b'>;
B 类型仍然是联合。有人请教我吗?
这是playground。
【问题讨论】:
-
你想达到什么目的?
-
@mast3rd3mon 解决this one
-
你希望
B不是一个联合体? -
@AsadSaeeduddin 在示例中为
never。在使用中,'a'或'b'。 -
类型参数中的联合类型传递了
NoUnion中的两个条件类型,所以你最终得到a|b。当第一个条件通过时,条件类型不会停止。
标签: typescript functional-programming