Como obter o nome da classe de um objeto em TypeScript em tempo de execução?
Olá a todos! Sou novo em TypeScript e me deparei com um problema. Tenho uma hierarquia de classes e preciso saber em tempo de execução de qual classe exatamente um determinado objeto é instância. Em JavaScript comum, eu usaria `obj.constructor.name`, mas no TypeScript isso não funciona como esperado.
Aqui está um exemplo 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');
// Tentando obter o nome da classe
console.log(myPet.constructor.name); // Em JS funciona, mas em TS...
```
O problema é que, ao compilar TypeScript para JavaScript, especialmente se for usada minificação ou bundling (por exemplo, webpack em modo production), `constructor.name` pode retornar não "Dog", mas alguma string de uma letra ou até `undefined`. Eu li