TypeScript-Fehler: Type 'string | undefined' is not assignable to type 'string' — wie beheben?
Hallo! Ich bin neu in TypeScript und bin auf einen unverständlichen Fehler gestoßen. Ich habe ein Interface für einen Benutzer, bei dem das Feld `name` optional ist (kann `undefined` sein). Ich versuche, diesen Namen zu holen und an eine Funktion zu übergeben, die nur einen String akzeptiert, aber TypeScript meckert.
Hier ist mein Code:
```typescript
interface User {
id: number;
name?: string; // optionales Feld
}
function greet(name: string) {
console.log(`Hallo, ${name}!`);
}
const user: User = { id: 1, name: 'Anna' };
greet(user.name); // Fehler: Type 'string | undefined' is not assignable to type 'string'
```
Ich dachte, wenn das Feld `name` existiert, dann ist es definitiv ein String. Aber der Compiler sagt, es ist `string | undefined`. Warum passiert das und wie behandelt man diese Situation richtig? Ich habe versucht, den Fehler einfach mit `// @ts-ignore` zu ignorieren, aber das ist schlechte Praxis. Sagt mir, wie man es richtig macht, damit der Code typsicher ist? Gibt es vielleicht mehrere Lösungswege?
Vielen Dank im Voraus für die Hilfe!