想根据构造函数的参数,在我的类里返回不同的类。也就是多态。
如果是纯js很好实现。但是用ts,却不能得到正确的类型。
提这个问题主要是想知道怎么在ts里实现这个多态的效果。
class Test {
constructor(private bl:boolean){
}
getValue(){
if(this.bl) {
return "1"
} else {
return "2"
}
}
}
const t = new Test(false);
// ts推断result的类型时"1"|"2"。
// 而没有根据构造函数的参数推断成"2"
const result = t.getValue();
在线示例