Ya conoces interface y type. Ambos pueden definir la forma de un objeto:
Para objetos, son prácticamente iguales. Entonces, ¿cuál usar?
Si defines la misma interface dos veces, TypeScript las fusiona:
Esto es útil para extender tipos de librerías externas. Con type esto daría error.
Las interfaces usan extends de forma más natural (lo veremos en la próxima lección):
No puedes crear una union con interface.
Esta regla cubre el 95% de los casos. Muchos equipos profesionales la siguen.
Más que la elección técnica, lo importante es ser consistente dentro de un proyecto. Si el equipo usa interface para objetos, úsalo siempre. Si prefiere type para todo, hazlo siempre. La inconsistencia es peor que cualquier elección.
interface para un Usuario (nombre, email)type para el estado del usuario ("activo" | "inactivo" | "baneado")No hay una respuesta "correcta" universal. Interface para objetos, type para el resto. Sé consistente y sigue adelante.