如何在 TypeScript 中为函数参数对象设置默认值?
你好!我刚开始学习 TypeScript,遇到了一个关于函数参数是对象的问题。
假设我有一个接受设置对象的函数:
```typescript
function createUser(config: { name: string; age: number; isAdmin: boolean }) {
// ...
}
```
我希望 `config` 参数是可选的,如果没有传入,则使用默认值。在 JavaScript 中我会这样做:
```javascript
function createUser(config = { name: 'Guest', age: 18, isAdmin: false }) {
// ...
}
```
但在 TypeScript 中这不起作用,因为 `config` 的类型必须定义。我尝试了不同的方法:
1. 直接指定默认值——TypeScript 报错类型不匹配。
2. 使用 `Partial`——但这样无法设置具体的默认值。
3. 通过 `?` 使所有字段可选——但这样会失去类型严格性。
以下是我的代码示例,无法编译通过: