Avatar ·

Sobrecarga de construtor em TypeScript: como implementar corretamente?

Olá a todos! Comecei a estudar TypeScript e me deparei com o problema de sobrecarga de construtor. Em outras linguagens (como Java ou C#), estou acostumado a poder declarar vários construtores com parâmetros diferentes. Mas no TypeScript isso não funciona da mesma forma. Digamos que eu queira criar uma classe `User` que possa ser inicializada com uma string (email) ou com um objeto contendo nome e idade. Tentei escrever assim: ```typescript class User { constructor(email: string) { // ... } constructor(name: string, age: number) { // ... } } ``` Mas o TypeScript retorna um erro: "Duplicate function implementation". Eu entendo que no JavaScript não existe sobrecarga real, mas então como fazer? Preciso que a classe possa ser criada de diferentes maneiras: 1. `new User("john@example.com")` — ou