代码如下:
class Person {
name: string
age: number
constructor(name: string, age: number) {
this.name = name
this.age = age
}
}
function createInstance<T, U>(ctor: new (...params) => T, ...args: U): T { // error: rest 参数必须是数组类型
return new ctor(...args) // error: 类型“U”必须具有返回迭代器的 "[Symbol.iterator]()" 方法
}
const person = createInstance<Person, [string, number]>(Person, 'person', 25)
console.log(person.name)
我想使用泛型的方法对rest参数...args
进行检验。在泛型使用元祖后,ts提示错误:rest 参数必须是数组类型。