Erro TypeScript: Type 'string | undefined' is not assignable to type 'string' — como corrigir?
Olá! Sou novo em TypeScript e me deparei com um erro confuso. Tenho uma interface para usuário, onde o campo `name` é opcional (pode ser `undefined`). Estou tentando obter esse nome e passá-lo para uma função que aceita apenas string, mas o TypeScript reclama.
Aqui está meu código:
```typescript
interface User {
id: number;
name?: string; // campo opcional
}
function greet(name: string) {
console.log(`Olá, ${name}!`);
}
const user: User = { id: 1, name: 'Ana' };
greet(user.name); // Erro: Type 'string | undefined' is not assignable to type 'string'
```
Eu pensei que se o campo `name` existe, então é definitivamente uma string. Mas o compilador diz que é `string | undefined`. Por que isso acontece e como lidar corretamente com essa situação? Tentei simplesmente ignorar o erro com `// @ts-ignore`, mas isso é uma má prática. Diga-me como fazer corretamente para que o código seja type-safe? Talvez existam várias formas de resolver?
Desde já, obrigado pela ajuda!