Avatar ·

Comment obtenir le nom de la classe d'un objet en TypeScript à l'exécution ?

Bonjour à tous ! Je suis nouveau en TypeScript et j'ai rencontré un problème. J'ai une hiérarchie de classes et j'ai besoin de savoir à l'exécution de quelle classe exacte un objet est une instance. En JavaScript classique, j'utiliserais `obj.constructor.name`, mais en TypeScript, cela ne fonctionne pas comme je le souhaite. Voici un exemple de code : ```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'); // J'essaie d'obtenir le nom de la classe console.log(myPet.constructor.name); // En JS cela fonctionne, mais en TS... ``` Le problème est que lors de la compilation de TypeScript en JavaScript, surtout si une minification ou un bundler est utilisé (par exemple, webpack en mode production), `constructor.name` peut retourner non pas "Dog", mais une chaîne d'une seule lettre ou même `undefined`.