¿Cómo declarar un tipo que acepte null o undefined en TypeScript?
¡Hola! Acabo de empezar a aprender TypeScript y me encontré con un problema. Tengo una función que debe aceptar un número, pero a veces quiero pasarle null o simplemente no pasar nada (undefined). En JavaScript normal esto funciona sin problemas, pero TypeScript se queja.
Aquí hay un ejemplo de mi código:
```typescript
function greetUser(age: number) {
console.log(`Edad: ${age}`);
}
// Quiero pasar null si la edad es desconocida
greetUser(null); // Error: Argument of type 'null' is not assignable to parameter of type 'number'.
// O simplemente no pasar argumento
greetUser(); // Error: Expected 1 arguments, but got 0.
```
Intenté usar `age: number | null`, pero entonces la función no permite pasar undefined. Y si escribo `age: number | undefined`, no funciona con null. ¿Cómo hago correctamente para que la función acepte tanto número, como null y undefined? ¿Quizás hay algún tipo especial en TypeScript para esto?
Vi en la documentación algo sobre `?` antes de los dos puntos.