条件类型,其中选中的类型是裸类型参数...
Google帮不上忙,或者答案是C#,我不知道。在Typescript文档中也找不到该术语。从上下文中获取含义也很难...
顺便说一句,我确实知道什么是“类型参数”。但是“裸”是什么意思?
当他们在这里说“裸”时,表示存在类型参数而没有将其包装在另一个类型中(例如,数组,元组,函数,promise或任何其他泛型类型)
例如:
type NakedUsage<T> = T extends boolean ? "YES" : "NO"
type WrappedUsage<T> = [T] extends [boolean] ? "YES" : "NO"; // wrapped in a tuple
裸vs非裸的重要性很重要的原因是裸用法在一个联合上分布,这意味着条件类型适用于联合的每个成员,结果将是所有应用程序的联合
type Distributed = NakedUsage<number | boolean > // = NakedUsage<number> | NakedUsage<boolean> = "NO" | "YES"
type NotDistributed = WrappedUsage<number | boolean > // "NO"
type NotDistributed2 = WrappedUsage<boolean > // "YES"
在这里阅读有关条件类型分布的信息。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句