Error TypeScript: Type 'string' is not assignable to type — ¿cómo solucionarlo?
¡Hola a todos! Acabo de empezar a aprender TypeScript y me encontré con un error que no entiendo. Tengo una interface para el usuario:
```typescript
interface User {
name: string;
age: number;
role: 'admin' | 'user';
}
```
Estoy intentando crear un objeto de usuario a partir de datos obtenidos de un formulario. Los datos llegan como strings (incluso la edad es un string del input). Escribí este código:
```typescript
const formData = {
name: 'Иван',
age: '25', // string, aunque debería ser número
role: 'admin'
};
const user: User = {
name: formData.name,
age: formData.age, // error: Type 'string' is not assignable to type 'number'
role: formData.role // error: Type 'string' is not assignable to type '"admin" | "user"'
};
```
TypeScript se queja de age y role. Entiendo que age debe ser un número y role estrictamente 'admin' o 'user', pero ¿cómo convertir los tipos correctamente? Probé usar `as` — funciona, pero escuché que es mala práctica. Díganme cómo resolver esto de manera adecuada.