Avatar ·

如何在 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. 通过 `?` 使所有字段可选——但这样会失去类型严格性。 以下是我的代码示例,无法编译通过: