跳到主要内容

First of Array

实现一个 First<T> 泛型,它接受一个数组 T 并返回它的第一个元素的类型。

type arr1 = ["a", "b", "c"];
type arr2 = [3, 2, 1];

type head1 = First<arr1>; // 应推导出 'a'
type head2 = First<arr2>; // 应推导出 3

答案

Details
type First<T extends any[]> = T extends [infer K, ...args: any[]] ? K :never 
提示

通过 infer 关键字推断第一个元素的类型并返回即可