Comment puis-je déclarer un type class
, afin de m'assurer que l'objet est un constructeur d'une classe générale?
Dans l'exemple suivant, je veux savoir quel type dois-je donner à AnimalClass
pour qu'il soit soit Penguin
ou Lion
:
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();
}
}
Bien sûr, le type class
ne fonctionne pas, et ce serait quand même trop général.