Erro TypeScript: Type 'string' is not assignable to type — como corrigir?
Olá a todos! Comecei a aprender TypeScript e me deparei com um erro estranho. Tenho uma interface para o usuário:
```typescript
interface User {
name: string;
age: number;
role: 'admin' | 'user';
}
```
Estou tentando criar um objeto de usuário a partir de dados obtidos de um formulário. Os dados vêm como strings (até a idade é uma string do input). Escrevi o seguinte código:
```typescript
const formData = {
name: 'Иван',
age: '25', // string, mas deveria ser número
role: 'admin'
};
const user: User = {
name: formData.name,
age: formData.age, // erro: Type 'string' is not assignable to type 'number'
role: formData.role // erro: Type 'string' is not assignable to type '"admin" | "user"'
};
```
O TypeScript reclama de age e role. Entendo que age deve ser um número e role estritamente 'admin' ou 'user', mas como converter os tipos corretamente? Tentei usar `as` — funciona, mas ouvi dizer que é uma má prática. Digam-me como resolver isso de forma adequada.