Cómo obtener el nombre de la clase de un objeto en TypeScript en tiempo de ejecución
¡Hola a todos! Soy nuevo en TypeScript y me encontré con un problema. Tengo una jerarquía de clases y necesito saber en tiempo de ejecución de qué clase es una instancia un objeto determinado. En JavaScript normal usaría `obj.constructor.name`, pero en TypeScript esto no funciona como espero.
Aquí hay un ejemplo de código:
```typescript
class Animal {
name: string;
constructor(name: string) {
this.name = name;
}
}
class Dog extends Animal {
breed: string;
constructor(name: string, breed: string) {
super(name);
this.breed = breed;
}
}
const myPet = new Dog('Rex', 'Labrador');
// Intento obtener el nombre de la clase
console.log(myPet.constructor.name); // En JS funciona, pero en TS...
```
El problema es que al compilar TypeScript a JavaScript, especialmente si se usa minificación o bundling (por ejemplo, webpack en modo production), `constructor.name` puede devolver no "Dog", sino una cadena de una sola letra o incluso `undefined`. He leído