Avatar ·

Vérification du type d'interface en TypeScript : comment déterminer si un objet correspond à une interface ?

Bonjour, collègues ! J'ai commencé à apprendre TypeScript et j'ai rencontré un problème qui semble élémentaire, mais je n'arrive pas à trouver la bonne solution. J'ai une interface : ```typescript interface User { name: string; age: number; email: string; } ``` Je reçois des données de l'API sous forme de `any` ou `unknown`. Je dois vérifier si l'objet reçu correspond à l'interface `User` avant d'utiliser ses champs. En JavaScript, j'écrirais `typeof obj.name === 'string'` et ainsi de suite, mais en TypeScript, je veux le faire élégamment en utilisant les capacités du langage. J'ai essayé d'écrire `if (obj instanceof User)`, mais TypeScript se plaint que `User` est une interface, pas une classe. J'ai essayé d'utiliser `typeof obj === 'User'` — cela ne fonctionne pas non plus. J'ai cherché sur Google et trouvé des mentions sur les type guards et les fonctions personnalisées, mais je n'ai pas complètement compris comment faire correctement. Dites-moi comment vérifier en TypeScript qu'un objet correspond à une interface ? Il est important que la vérification fonctionne également au moment de la compilation (TypeScr