百科.dev
全部条目AI 编程趋势榜开源项目技术资讯提交条目
登录
返回工具页/返回 Issues 列表
#38336·type-challenges

14 - 数组的第一个元素

作者: VarunMendre创建于 2026年9月4日更新于 2026年9月4日
标签answeren14
typescript
// 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

查看 GitHub 原文在 GitHub 查看讨论