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 ?