Avatar ·

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!