Avatar ·

Sobrecarga del constructor en TypeScript: ¿cómo declarar correctamente múltiples variantes?

¡Hola! Acabo de empezar a estudiar TypeScript y me encontré con el problema de la sobrecarga del constructor. En la documentación se dice que TypeScript soporta la sobrecarga de funciones, pero no puedo hacer que funcione para el constructor de una clase. Tengo una clase `User` que debe aceptar diferentes conjuntos de parámetros: - Nombre y edad (obligatorio) - Solo nombre (edad por defecto 0) - Un objeto con los campos name y age Esto es lo que intento hacer: ```typescript class User { name: string; age: number; constructor(name: string, age: number); constructor(name: string); constructor(obj: {name: string, age: number}) { this.name = name; this.age = age; } } ``` TypeScript se queja: "Type '{name: string, age: number}' is not assignable to type 'string'". Entiendo que el problema es que todas las firmas deben ser compatibles, pero ¿cómo implementar correctamente la sobrecarga del constructor? ¿Quizás hay otra forma de hacerlo? Agradecería una explicación detallada con ejemplos.