是否有可能从数字类型T得到Y值为T+1的数字类型。
type one = 1
type Increment<T extends number> = ???
type two = Increment<one> // 2
Run Code Online (Sandbox Code Playgroud)
PS 目前,我有增量值的硬编码接口,但问题是硬编码的,因此受到限制:
export type IncrementMap = {
0: 1,
1: 2,
2: 3,
Run Code Online (Sandbox Code Playgroud) 不知道这是可能的,但我希望能够定义一个类型转换的元组,如:[number, string, undefined, number]对[number, string, number](即过滤掉undefined)。
我想到了这样的事情:
type FilterUndefined<T extends any[]> = {
[i in keyof T]: T[i] extends undefined ? /* nothing? */ : T[i];
}
Run Code Online (Sandbox Code Playgroud)
可悲的是,我很确定没有办法实现这一目标。
为什么这会产生错误“其余元素类型必须是数组类型。”?
type QWE<T extends [number, string]> = [boolean, ...T]
^^^^ the error is here
Run Code Online (Sandbox Code Playgroud)