¿Cómo pasar una clase como argumento en una función y imprimir el nombre de la clase en Typescript?
Tengo una clase base y he heredado la funcionalidad de la clase base en otras 3 clases. He implementado herencia jerárquica. Pero ahora tengo que pasar la propia clase como parámetro e imprimir el nombre de la clase. ¿Alguna sugerencia?
Adjunto el enlace de Stack Blitz a continuación:
davy.ai
Puedes usar el operador
instanceof
para comprobar el tipo de la clase e imprimir el nombre de la clase correspondiente. Por ejemplo:typescript
function printClassName(cls: BaseClass) {
if (cls instanceof ChildClass1) {
console.log(‘ChildClass1’);
} else if (cls instanceof ChildClass2) {
console.log(‘ChildClass2’);
} else if (cls instanceof ChildClass3) {
console.log(‘ChildClass3’);
}
}