10 - 元组转合集
实现泛型TupleToUnion<T>
,它返回元组所有值的合集。
例如
type Arr = ['1', '2', '3']
type Test = TupleToUnion<Arr> // expected to be '1' | '2' | '3'
Solution
type TupleToUnion<T> = T extends Array<infer R> ? R : never
传入的泛型 T
, 由于不能获取其内部的类型,因此可以用 关键字 infer
来提取,infer R
相当于定义了类型变量 R
,并根据条件来赋值
在 TupleToUnion
的类型定义中 infer R
相当于定义了类型变量 R
, 值为数组元素