Erreur TypeScript : Type 'string' is not assignable to type — comment corriger ?
Bonjour à tous ! Je viens de commencer à apprendre TypeScript et je suis tombé sur une erreur incompréhensible. J'ai une interface pour un utilisateur :
```typescript
interface User {
name: string;
age: number;
role: 'admin' | 'user';
}
```
J'essaie de créer un objet utilisateur à partir de données provenant d'un formulaire. Les données arrivent sous forme de chaînes (même l'âge est une chaîne provenant d'un input). J'ai écrit ce code :
```typescript
const formData = {
name: 'Иван',
age: '25', // chaîne, alors qu'il faut un nombre
role: 'admin'
};
const user: User = {
name: formData.name,
age: formData.age, // erreur : Type 'string' is not assignable to type 'number'
role: formData.role // erreur : Type 'string' is not assignable to type '"admin" | "user"'
};
```
TypeScript se plaint pour age et role. Je comprends que age doit être un nombre et role strictement 'admin' ou 'user', mais comment convertir correctement les types ? J'ai essayé d'utiliser `as` — ça marche, mais j'ai entendu dire que c'est une mauvaise pratique. Dites-moi comment résoudre cela proprement.