如何在TypeScript中声明可接受null或undefined的类型?
你好!我刚开始学习TypeScript,遇到了一个问题。我有一个函数,它应该接受一个数字,但有时我想传递null或者什么都不传递(undefined)。在普通的JavaScript中,这没问题,但TypeScript会报错。
这是我的代码示例:
```typescript
function greetUser(age: number) {
console.log(`年龄: ${age}`);
}
// 如果年龄未知,想传递null
greetUser(null); // 错误:类型'null'的参数不能赋值给类型'number'的参数。
// 或者根本不传递参数
greetUser(); // 错误:期望1个参数,但得到了0个。
```
我试过使用`age: number | null`,但这样函数不允许传递undefined。而如果写成`age: number | undefined`,则不能处理null。如何正确让函数同时接受数字、null和undefined?TypeScript中是否有某种特殊类型可以做到这一点?
我在文档中看到过关于在冒号前使用`?`的内容。