挑战 在此挑战中建议使用 TypeScript 4.0 实现一个Last<T>泛型,它接受一个数组T并返回其最后一个元素的类型。 例如 type arr1 = ['a', 'b', 'c']; type arr2 = [3, 2, 1]; type tail1 = Last<arr1>; // 应推导出 'c' type tail2 = Last<arr2>; // 应推导出 1 解答 要得到最后一个元素的类型,我们可以使用条件类型和 infer。 type Last<T extends any[]> = T extends [...any[], infer Last] ? Last : never; 值得一提的是,在 TypeScript 中,可以使用类型推断从元组中提取最后一个元素。 参考链接 条件类型 infer