Class Konstruktor Typ in Maschinenschrift?

Wie kann ich ein @ deklariereclass Typ, so dass ich sicherstellen, dass das Objekt ein Konstruktor einer allgemeinen Klasse ist?

Im folgenden Beispiel möchte ich wissen, welchen Typ ich @ geben solAnimalClass so dass es entweder sein könntePenguin oderLion:

class Animal {
    constructor() {
        console.log("Animal");
    }
}

class Penguin extends Animal {
    constructor() {
        super();
        console.log("Penguin");
    }
}

class Lion extends Animal {
    constructor() {
        super();
        console.log("Lion");
    }
}

class Zoo {
    AnimalClass: class // AnimalClass could be 'Lion' or 'Penguin'

    constructor(AnimalClass: class) {
        this.AnimalClass = AnimalClass
        let Hector = new AnimalClass();
    }
}

Natürlich dieclass type funktioniert nicht und es wäre sowieso zu allgemein.

Antworten auf die Frage(4)

Ihre Antwort auf die Frage