ziv*_*ziv 10 typescript typescript-typings
这就是我想要做的:
class Base{
clone(){
//return new instance of the inherited class
}
}
class Derived extends Base{
}
const d1=new Derived();
const d2=d2.clone; // I want d2 to be of type Derived
Run Code Online (Sandbox Code Playgroud)
d2的clone方法的返回类型应该是Derived类型的返回类型?
Avi*_*dad 12
我真的希望有更好的方法,但这是我目前做的事情:
class Base{
clone(): this {
return new (this.constructor as any)();
}
}
class Derived extends Base {
}
class DerivedAgain extends Derived {
}
const d1=new Derived();
const d2 = d1.clone();
const d3 = new DerivedAgain().clone();
Run Code Online (Sandbox Code Playgroud)
d2是类型的Derived,并且d3是类型的DerivedAgain,如所预期.
| 归档时间: |
|
| 查看次数: |
1284 次 |
| 最近记录: |