Cómo obtener el nombre de la clase de un objeto en tiempo de ejecución en TypeScript
¡Hola! Estoy escribiendo una aplicación en TypeScript que se encarga de la serialización de diferentes entidades. Tengo una jerarquía de clases y necesito determinar en tiempo de ejecución de qué clase es una instancia un objeto para procesarlo correctamente.
Por ejemplo, tengo una clase base `Shape` y dos herederas: `Circle` y `Rectangle`. Quiero escribir una función que reciba un array de figuras y para cada una muestre su tipo. En JavaScript usaría `obj.constructor.name`, pero en TypeScript esta propiedad puede faltar o ser indefinida después de la minificación/compilación. Además, TypeScript está fuertemente tipado, y acceder a `constructor` no siempre da el resultado esperado.
Aquí hay un código simplificado que no funciona como espero:
```typescript
class Shape {
constructor(public name: string) {}
}
class Circle extends Shape {
constructor(public radius: number) {
super('Circle');
}
}
class Rectangle extends Shape {
construct