javascript - TypeScript opprett ny instans fra klasse i en statisk kontekst


Finnes det en måte i TypeScript å lage nye instanser fra en statisk metode på en generisk måte?

Jeg vil gjøre noe som:

class Base {
    static getInstance() {
         return new self(); // i need this line :)
    }
}

class Test extends Base {
}

class NextTest extends Base {
}

var test = Test.getInstance();
assert(test instanceof Test).toBe(true);

var nextTest = NextTest.getInstance();
assert(nextTest instanceof NextTest).toBe(true);

Det ville vært veldig hjelpsomt om noen hadde gjort noe slikt før og kunne hjelpe meg. Kanskje det finnes en JavaScript-måte?

Takk på forhånd.

Svar #1

Hack :)

static getInstance() {
     return new this;
}

Relaterte artikler