Cómo establecer un valor por defecto para un objeto parámetro de función en TypeScript?
¡Hola! Acabo de empezar a aprender TypeScript y tengo un problema con los parámetros de funciones que son objetos.
Supongamos que tengo una función que recibe un objeto con configuraciones:
```typescript
function createUser(config: { name: string; age: number; isAdmin: boolean }) {
// ...
}
```
Quiero que el parámetro `config` sea opcional, y si no se pasa, se usen valores por defecto. En JavaScript haría esto:
```javascript
function createUser(config = { name: 'Guest', age: 18, isAdmin: false }) {
// ...
}
```
Pero en TypeScript esto no funciona porque el tipo de `config` debe estar definido. He probado diferentes opciones:
1. Simplemente especificar el valor por defecto — TypeScript se queja de la falta de coincidencia de tipos.
2. Usar `Partial` — pero entonces no puedo establecer valores por defecto específicos.
3. Hacer todos los campos opcionales con `?` — pero entonces se pierde la rigurosidad de tipos.
Aquí hay un ejemplo de mi código que no compila