Avatar ·

Como declarar um tipo que aceita null ou undefined no TypeScript?

Olá! Acabei de começar a estudar TypeScript e me deparei com um problema. Tenho uma função que deve receber um número, mas às vezes quero passar null ou simplesmente não passar nada (undefined). Em JavaScript normal isso funciona sem problemas, mas o TypeScript reclama.\n\nAqui está um exemplo do meu código:\n\n```typescript\nfunction greetUser(age: number) {\n console.log(`Idade: ${age}`);\n}\n\n// Quero passar null se a idade for desconhecida\ngreetUser(null); // Erro: Argument of type 'null' is not assignable to parameter of type 'number'.\n\n// Ou nem passar argumento\ngreetUser(); // Erro: Expected 1 arguments, but got 0.\n```\n\nTentei usar `age: number | null`, mas a função não permite passar undefined. E se escrevo `age: number | undefined`, não funciona com null.