Avatar ·

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

Bonjour à tous ! Je viens de commencer à apprendre TypeScript et j'ai rencontré un problème. J'ai une interface `User` et une fonction qui reçoit des données d'une API. Je dois vérifier si l'objet reçu correspond à cette interface. Voici mon code : ```typescript interface User { id: number; name: string; email: string; } function processData(data: unknown) { // Comment vérifier que data est un User ? if (data instanceof User) { // Erreur : 'User' fait référence à un type, mais est utilisé comme une valeur ici console.log(data.name); } } ``` Je comprends que `instanceof` ne fonctionne pas avec les interfaces car elles sont effacées à l'exécution. Mais comment alors vérifier que l'objet contient tous les champs nécessaires avec les bons types ? J'ai vu qu'on peut utiliser des type guards personnalisés, mais je ne comprends pas encore complètement comment les écrire correctement pour des interfaces complexes. Existe-t-il une approche standard ou des meilleures pratiques pour vérifier les types à l'exécution ? Des conseils ?