Avatar ·

Comment connaître le type d'une variable en TypeScript : typeof, instanceof et vérifications personnalisées

Bonjour à tous ! Je viens de commencer à apprendre TypeScript et j'ai rencontré un problème : comment connaître le type d'une variable pendant l'exécution du programme ? En JavaScript classique, j'utilisais `typeof`, mais en TS cela ne fonctionne pas toujours comme je l'attends. Voici un exemple de code qui me trouble : ```typescript let value: string | number = "hello"; // J'essaie de vérifier le type if (typeof value === "string") { console.log(value.toUpperCase()); // Fonctionne } value = 42; if (typeof value === "number") { console.log(value.toFixed(2)); // Fonctionne } // Mais avec les objets, c'est plus compliqué interface User { name: string; age: number; } interface Admin { name: string; role: string; } function processUser(user: User | Admin) { // Comment vérifier ici si c'est User ou Admin ? if (typeof user === "object") { // Cela n'aide pas // Comment obtenir le type concret ? } } ``` Je comprends que TypeScript est une surcouche de JS, et que les types n'existent qu'au stade