Avatar ·

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