typescript中rest参数如何进行类型检验
代码如下:
class Person {
name: string
age: number
constructor(name: string, age: number) {
this.name = name
this.age = age
}
}
function createInstance(ctor: new (...params) => T, ...args): T {
return new ctor(...args)
}
const person = createInstance(Person, 123, 20) // should be error: 类型“123”的参数不能赋给类型“string”的参数
console.log(person.name) // 123
console.log(person.name.length) // undefined
我的问题是:
1、Person的constructor方法中,name参数应该是字符型;但在createInstance(Person, 123, 20) 中传入的123是number类型,但是typescript没有提示类型错误,导致person.name.length为undefined。
2、如何给rest参数...params进行类型校验? |
免责声明:本内容仅代表回答会员见解不代表天盟观点,请谨慎对待。
版权声明:作者保留权利,不代表天盟立场。
|
|
|
|