举个例子, 目前对函数中剩余/可变参数的描述必须始终放在函数参数描述的末尾, f(a: number, ...b:string[], c: boolean)便是一个无效的例子
在这一次的升级之后, 通过在函数参数定义中使用可变元组类型...而不仅仅是对象
对可变参数的函数进行完整的类型提示
对复杂的, 部分参数类型已知的可变参数进行正确的提示
对Promisify进行完整的类型定义
对诸如curry, apply, compose等高阶函数进行完整地参数类型描述...看看下面这个函数的类型的描述, 你能从中获得什么信息?...: number, ...c: number[]];
从构造函数的使用来推断属性类型
一个简明的类型提示的改进
class X {
private a;
constructor(param...属性的类型只会在直接初始化的时候得到推断. 因此需要一个初始化函数, 或者直接对其进行定义.
在TypeScript4中, a的类型会被推断为number | boolean: 从构造函数自动推断.