TypeScript: ¿Cuál es la diferencia entre interface y type? ¿Cuándo usar qué?
¡Hola a todos! Empecé a estudiar TypeScript y me confundí con la diferencia entre `interface` y `type`. Parece que ambos permiten describir la estructura de objetos, pero no entiendo cuándo aplicar cada herramienta.
Miren mi código. Estoy tratando de describir un usuario y su dirección:
```typescript
// Opción con interface
interface IUser {
name: string;
age: number;
address: IAddress;
}
interface IAddress {
city: string;
street: string;
}
// Opción con type
type TUser = {
name: string;
age: number;
address: TAddress;
}
type TAddress = {
city: string;
street: string;
}
```
Ambas opciones funcionan, pero he oído que hay algunas diferencias fundamentales. Por ejemplo, vi que `type` puede hacer algo con uniones, pero `interface` no. Y también en algunos proyectos usan `interface` para todo, mientras que en otros usan `type`.
Por favor, díganme cuál es la diferencia real. ¿Cuáles son las reglas de buena práctica? ¿Quizás hay situaciones donde solo se puede usar uno?
No answers yet.
Inicia sesión para dejar una respuesta