我需要用2个参数创建新类。每当我创建新类时,其中之一可能是不同的类型。
class Some{
constructor(type:string, data?){
this.type = type;
this.data = data;
}
}
在我的IDE中,我想查看每个Some
实例的data
类型,因为它可以是number
,string
或object
带有自定义键。
我试图做这样的事情:type IType<T> = T
,但我仍然不知道如何在班级中获取T
,当我返回IType data
时,它只是行不通的。
对不起,也许是不可能的,或者只是微不足道,但我还不擅长打字稿。
class Some<T>{
constructor(
private type: string,
public data: T
) {
}
foo() {
console.log(`my type is ${this.type} and my data is ${this.data}`)
}
}
const bar = new Some('hello', 123);
bar.data; // Hover over me to see type in your IDE
bar.foo();