following the solutions of this problem: Create a new object from type parameter in generic class
I have this simple code:
class TestBase {
hi() {
alert('Hi from base');
}
}
class TestSub extends TestBase {
hi() {
alert('Hi from sub');
}
}
class TestTwo<T extends TestBase = TestBase> {
constructor(private testType: new () => T) { // Set TestBase constructor as default value for testType ?
}
getNew() : T {
return new this.testType();
}
}
//var test = new TestTwo<TestBase>(TestBase);
var test = new TestTwo<TestSub>(TestSub);
var example = test.getNew();
example.hi();
// With a default value for testType, I will be able to write something like:
var test2 = new TestTwo();
test2.getNew().hi(); // Should print "Hi from base"
How is it possible to set a default value for testType constructor within testTwo constructor ?
Thanks for help