¿Tipo de constructor de clase en mecanografiado?
¿Cómo puedo declarar unclass
tipo, para asegurarme de que el objeto es un constructor de una clase general?
En el siguiente ejemplo, quiero saber qué tipo debo dar aAnimalClass
para que pueda serPenguin
oLion
:
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();
}
}
Por supuesto, elclass
type no funciona, y de todos modos sería demasiado general.