~/questoes/programacao
Em TypeScript, interfaces definem contratos para objetos, especificando quais propriedades eles devem ter. Para permitir que uma propriedade não seja fornecida, você usa o símbolo '?' após o nome da propriedade, tornando-a opcional.
O símbolo '?' após o nome da propriedade é a sintaxe correta do TypeScript para marcar uma propriedade como opcional. Isso significa que um objeto implementando a interface pode existir sem fornecer esse valor específico.
TypeScript não possui uma palavra-chave 'optional' para este propósito. Essa não é a sintaxe reconhecida pela linguagem.
Embora 'undefined | tipo' funcione tecnicamente, não é a forma idioática ou recomendada. Além disso, força que a propriedade sempre seja declarada, apenas permitindo ser undefined.
Colchetes vazios [] são usados para arrays em TypeScript, não para tornar propriedades opcionais em interfaces.
O símbolo '?' é a forma padrão e correta. Exemplo: 'interface Usuario { nome: string; email?: string }' permite criar um usuário sem fornecer o email.