Interfaces vs Types
No es religion. Aprende una regla simple para no perder tiempo: usa lo que haga el modelado mas claro.
Conceptos clave
- interface para objetos y extensiones
- type para unions y composicion
- Intersecciones y picks/omits
Ejemplo
interface User {
id: string;
name: string;
}
type UserWithPlan = User & { plan: 'free' | 'pro' };
type PublicUser = Pick<User, 'id' | 'name'>;
Ejercicio
- Modela Order con items y total.
- Crea un tipo PublicOrder que oculte campos internos.
Checklist de mastery
- Se elegir interface o type segun el caso.
- Uso Pick/Omit para crear vistas publicas.