Avatar ·

¿Se pueden extender (extends) los tipos en TypeScript, como las interfaces?

¡Hola a todos! Acabo de empezar a aprender TypeScript y me encontré con una confusión. Sé que las interfaces se pueden extender con `extends`. Por ejemplo: ```typescript interface User { name: string; } interface AdminUser extends User { role: string; } ``` Esto funciona perfectamente. Pero cuando intento hacer lo mismo con tipos (type alias), no funciona: ```typescript type User = { name: string; }; type AdminUser extends User { // ❌ Error: 'extends' no funciona con tipos role: string; } ``` Probé diferentes opciones, pero TypeScript se queja. En internet dicen que los tipos se pueden extender usando intersecciones (&), pero no entiendo completamente cómo hacerlo correctamente y cuál es la diferencia entre interfaces y tipos en el contexto de extensión. Por favor, indíquenme cómo extender tipos correctamente. ¿Se puede hacer esto? Y si es así, ¿cuándo es mejor usar `extends` para interfaces y cuándo intersecciones para tipos? ¡Gracias de antemano por la ayuda!