Cómo agregar propiedades dinámicamente a un objeto en TypeScript (sin errores de tipo)
¡Hola a todos! Recientemente comencé a aprender TypeScript y me encontré con un problema que me dejó muy perplejo. Necesito crear objetos cuyas propiedades se agreguen dinámicamente durante la ejecución del programa.
Aquí hay un ejemplo: recibo datos de una API en formato JSON, pero la estructura de la respuesta puede cambiar. Quiero crear un objeto vacío y luego llenarlo con propiedades basadas en los datos recibidos. En JavaScript normal esto se hace de manera elemental:
```typescript
const data = {};
data.name = "John"; // funciona
data.age = 30; // funciona
```
Pero cuando intento hacer lo mismo en TypeScript, el compilador muestra un error: "Property 'name' does not exist on type '{}'". TypeScript se queja de que el objeto `data` tiene el tipo `{}` y no tiene esas propiedades.
He probado diferentes opciones:
- Declarar el objeto con `const data: any = {}` — esto funciona, pero pierdo todas las ventajas del tipado.
- Crear una interfaz con campos opcionales — pero no sé de antemano qué campos se agregarán.
En la práctica