Avatar ·

Cómo declarar correctamente un array de objetos en TypeScript

¡Hola! Acabo de empezar a estudiar TypeScript y me encontré con un problema. Estoy escribiendo una pequeña aplicación para la gestión de tareas. Tengo un array de objetos, cada objeto describe una tarea: tiene un título, un estado de finalización y una fecha de creación. En JavaScript simplemente escribiría: const tasks = [ { title: 'Comprar leche', done: false, createdAt: new Date() }, { title: 'Hacer ejercicio', done: true, createdAt: new Date() } ]; Pero en TypeScript necesito especificar el tipo. Probé diferentes opciones, pero no estoy seguro de cuál es la correcta y cuándo usar cada una. Probé así: const tasks: Array = [...]; const tasks: object[] = [...]; const tasks: any[] = [...]; La primera opción funciona, pero no puedo acceder al campo title — TypeScript se queja de que la propiedad no existe en el tipo object. La segunda es lo mismo. La tercera funciona, pero se pierde toda la carga semántica y el editor de código no sugiere los campos de los objetos. También he oído hablar de interfaces y tipos, pero no entiendo cómo aplicarlos.