Avatar ·

如何在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中是否有某种特殊类型可以做到这一点? 我在文档中看到过关于在冒号前使用`?`的内容。