Avatar ·

Surcharge du constructeur en TypeScript : comment déclarer correctement plusieurs variantes ?

Bonjour ! Je viens de commencer à apprendre TypeScript et j'ai rencontré un problème avec la surcharge du constructeur. La documentation dit que TypeScript supporte la surcharge de fonctions, mais je n'arrive pas à la faire fonctionner pour un constructeur de classe. J'ai une classe `User` qui doit accepter différents ensembles de paramètres : - Nom et âge (obligatoires) - Uniquement le nom (âge par défaut 0) - Un objet avec les champs name et age Voici ce que j'essaie de faire : ```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 plaint : "Type '{name: string, age: number}' is not assignable to type 'string'". Je comprends que le problème est que toutes les signatures doivent être compatibles, mais comment implémenter correctement la surcharge du constructeur ? Peut-être existe-t-il une autre façon de faire ? Je serais reconnaissant pour une explication détaillée avec des exemples.