假设我有这个类型
type MyTypeArray = ['', 2, boolean]
当数组长度未知时,我该如何提取类型为2 | boolean
的元素?
假设我有这个类型
type MyTypeArray = ['', 2, boolean]
当数组长度未知时,我该如何提取类型为2 | boolean
的元素?
spread tuple
运算符:...
,就像在普通的JavaScript中一样。
type ExtractTail<T extends any[]> = T extends [infer _, ...infer Tail] ? Tail : never
// [2, boolean]
type MyTypeArray = ExtractTail<['', 2, boolean]>
// 2 | boolean
type Union = MyTypeArray[number]
type LastValueOfTuple<T extends any[] | readonly any[]> = T extends [...infer Start, infer Last] ? Last : never;
虽然这不是被问到的问题,但这是我在搜索答案时找到的文章。 - Austin