【发布时间】:2022-11-27 22:16:01
【问题描述】:
type IsFirstTrue<T extends unknown[]> =
T extends [infer First, ...infer Rest]
? First extends true
? true
: false
: false
// let a: boolean
let a: IsIndexedTypeTrue<[boolean]>
我正在尝试创建一个类型 IsFirstTrue,它检查数组类型的第一个元素是否为 true 类型。
对于类型 [boolean] 作为输入,结果类型的计算结果应为 false,因为它的第一个类型不是 true 类型,但它的计算结果为 boolean,这很奇怪,因为在代码中 boolean 类型甚至没有说明,只有true或false。为什么会这样?
【问题讨论】:
标签: typescript