Erreur TypeScript : Type 'string | undefined' is not assignable to type 'string' — comment corriger ?
Bonjour ! Je suis débutant en TypeScript et j'ai rencontré une erreur que je ne comprends pas. J'ai une interface pour un utilisateur où le champ `name` est optionnel (peut être `undefined`). J'essaie de récupérer ce nom et de le passer à une fonction qui n'accepte qu'une chaîne de caractères, mais TypeScript se plaint.
Voici mon code :
```typescript
interface User {
id: number;
name?: string; // champ optionnel
}
function greet(name: string) {
console.log(`Bonjour, ${name} !`);
}
const user: User = { id: 1, name: 'Anna' };
greet(user.name); // Erreur : Type 'string | undefined' is not assignable to type 'string'
```
Je pensais que si le champ `name` existe, c'est forcément une chaîne. Mais le compilateur dit que c'est `string | undefined`. Pourquoi cela se produit-il et comment gérer correctement cette situation ? J'ai essayé d'ignorer l'erreur avec `// @ts-ignore`, mais c'est une mauvaise pratique. Pouvez-vous me dire comment faire correctement pour que le code soit type-safe ? Y a-t-il plusieurs façons de résoudre ce problème ?
Merci d'avance pour votre aide !