14 - 数组的第一个元素
作者: VarunMendre创建于 2026年9月4日更新于 2026年9月4日
标签answeren14
// 1. 如果类型 T 可赋值给一个空数组,则它被视为一个空数组。
type First<T extends unknown[]> = T extends [] ? never : T[0];
// 2. 由于 T 是一个数组,我们可以评估其 .length 属性。如果其长度为 0,则它是一个空数组。
type First<T extends any[]> = T['length'] extends 0 ? never : T[0];
// 3. 如果 T 的索引值类型为 number 且可赋值给 never,则表示数组为空。
type First<T extends any[]> = T[number] extends never ? never : T[0];内容来源: type-challenges/type-challenges