179. 整数相减
极难
实现一个高级工具类型 Subtraction<M, S>
,它表示 JavaScript 中的 -
运算符,使用 BuildTuple
来实现。
如果被减数小于减数,结果应为 never
。
这是一个简单版本。
例如:
type Res1 = Subtract<2, 1> // expect to be 1
type Res2 = Subtract<1, 2> // expect to be never
BuildTuple
是一个 TypeScript 非内置的工具类型,通常用于创建一个包含指定长度的元组类型。其核心作用是根据给定的数字创建一个包含相应数量元素的元组类型,通常这个类型的元素可以是任意类型,或者指定为某种具体类型。例如:
type Res1 = BuildTuple<number, 3> // expect to be [number, number, number]
type Res2 = BuildTuple<string, 2> // expect to be [string, string]
type Res3 = BuildTuple<boolean, 0> // expect to be []
所以你要先实现工具类型 BuildTuple
。