代码如下:class Person { name: string age: number constructor(name: string, age: number) { this.name = name this.age = age }}function createInstance<T>(ctor: new (...params) => T, ...args): T { return new ctor(...args)}const person = createInstance<Person>(Person, 123, 20) // should be error: 类型“123”的参数不能赋给类型“string”的参数console.log(person.name) // 123console.log(person.name.length) // undefined我的问题是:1、Person的constructor方法中,name参数应该是字符型;但在createInstance<Person>(Person, 123, 20) 中传入的123是number类型,但是typescript没有提示类型错误,导致person.name.length为undefined。2、如何给rest参数...params进行类型校验?
添加回答
举报
0/150
提交
取消