Avatar ·

Surcharge du constructeur en TypeScript : comment l'implémenter correctement ?

Bonjour à tous ! J'ai commencé à étudier TypeScript et j'ai rencontré un problème avec la surcharge du constructeur. Dans d'autres langages (par exemple Java ou C#), j'ai l'habitude de pouvoir déclarer plusieurs constructeurs avec différents paramètres. Mais en TypeScript, cela ne fonctionne pas de la même manière. Supposons que je veuille créer une classe `User` qui peut être initialisée soit par une chaîne (email), soit par un objet avec un nom et un âge. J'ai essayé d'écrire ceci : ```typescript class User { constructor(email: string) { // ... } constructor(name: string, age: number) { // ... } } ``` Mais TypeScript renvoie une erreur : "Duplicate function implementation". Je comprends qu'en JavaScript il n'y a pas de véritable surcharge, mais comment faire alors ? J'ai besoin que la classe puisse être créée de différentes manières : 1. `new User("john@example.com")` — seulement l'email 2. `new User("John", 25)` — nom et âge 3. `new User()` — objet vide (valeurs par défaut) Comment implémenter cela correctement en TypeScript ? J'ai entendu parler des union types, des rest parameters.