以下为ChatGPT自动生成的解答,正确与否请自行判断。 也许你也可以从大家的发帖中找到想要的答案!
BFE.devAI解答 - TypeScript 类型谜题
46. implement Subtract<A, B>
type Subtract<A extends number, B extends number> = { 0: A, 1: Subtract<A-1, B-1>}[B extends 0 ? 0 : A extends 0 ? never : 1];// Teststype A = Subtract<1, 1> // 0type B = Subtract<10, 3> // 7type C = Subtract<3, 10> // never
上述代码实现了一个 Subtract
类型,用于计算两个正整数之间的差值。只需要输入正整数,并确保第二个数小于等于第一个数即可。例如 Substract<10, 3>
应该返回 7。如果第二个数大于第一个数,那么这个类型将返回 never
。