TypeScript-Fehler: Type 'string' is not assignable to type — wie beheben?
Hallo zusammen! Ich habe gerade angefangen, TypeScript zu lernen, und bin auf einen unverständlichen Fehler gestoßen. Ich habe ein Interface für einen Benutzer:
```typescript
interface User {
name: string;
age: number;
role: 'admin' | 'user';
}
```
Ich versuche, ein Benutzerobjekt aus Formulardaten zu erstellen. Die Daten kommen als Strings (sogar das Alter ist ein String aus dem input). Ich habe diesen Code geschrieben:
```typescript
const formData = {
name: 'Иван',
age: '25', // string, obwohl number benötigt wird
role: 'admin'
};
const user: User = {
name: formData.name,
age: formData.age, // Fehler: Type 'string' is not assignable to type 'number'
role: formData.role // Fehler: Type 'string' is not assignable to type '"admin" | "user"'
};
```
TypeScript beschwert sich über age und role. Ich verstehe, dass age eine Zahl sein sollte und role streng 'admin' oder 'user', aber wie konvertiere ich die Typen richtig? Ich habe `as` ausprobiert — es funktioniert, aber ich habe gehört, dass das eine schlechte Praxis ist. Sagt mir, wie man das elegant löst.