类型体操系列(一)基于参数类型限制函数返回类型

一般来说,一个确定的普通函数签名,能变的只有参数的长度,不能变的是旧的参数类型、返回值类型。那如何做到基于参数类型来变返回类型呢?熟悉C++的同学可能会想到模板template,在 TypeScript 中有类似的东西,泛型(Generics)。好的,今天我们就来做一次类型体操,利用泛型和一些其它特性实现基于参数类型限制函数返回类型!…