所以我正在阅读有关打字稿的文档,但无法理解这个概念。
所以文档说明:-
在分配条件类型的实例中,T 扩展了 U ? X : Y,在条件类型中对 T 的引用被解析为联合类型的单个成分(即 T 指的是在条件类型分布在联合类型上之后的单个成分)。此外,在 X 中对 T 的引用有一个额外的类型参数约束 U(即 T 被认为可分配给 X 中的 U)。
我无法理解这部分T refers to the individual constituents after the conditional type is distributed over the union type。
任何人都可以向我解释这一点。一个相同的例子将受到高度赞赏,文档中的那个对我来说不是很清楚。
我正在研究 ts-toolbelt 库的源代码。而我也经常遇到这样的表情O extends unknown。在我看来,它没有添加任何功能。
所以我想知道,它是做什么用的?
/**
* @hidden
*/
export type _UnionOf<O extends object> =
O[keyof O]
/**
* Transform an [[Object]] into an [[Union]]
* @param O to transform
* @returns [[Any]]
* @example
* ```ts
* ```
*/
export type UnionOf<O extends object> =
O extends unknown
? _UnionOf<O>
: never
Run Code Online (Sandbox Code Playgroud)
由于某种原因,不是导出_UnionOf类型,而是在其前面加上表达式O extends unknown
typescript ×2