¿Cómo excluir una propiedad de un tipo en TypeScript?
¡Hola a todos! Empecé a estudiar TypeScript y me encontré con un problema que no puedo resolver solo. Tengo una interfaz para un usuario:
```typescript
interface User {
id: number;
name: string;
email: string;
password: string;
createdAt: Date;
}
```
Necesito crear un nuevo tipo que represente al usuario sin el campo `password`, por ejemplo, para mostrarlo en la UI o pasarlo al cliente. No quiero duplicar toda la interfaz eliminando un campo manualmente, ya que esto viola el principio DRY y complica el mantenimiento. He oído hablar de utilidades integradas de TypeScript como `Pick`, `Partial`, `Omit`, pero no estoy seguro de cuál es la adecuada para mi tarea.
Probé usar `Pick`:
```typescript
type UserWithoutPassword = Pick;
```
Esto funciona, pero si la interfaz tiene 20 campos, enumerar todos excepto uno es incómodo. ¿Quizás hay una forma de "excluir" una propiedad sin enumerar las demás? Dime cómo hacerlo correctamente.