Javascript: différents constructeurs pour le même type d'objet

Est-il possible d'avoir plus d'un constructeur pour une classe en javascript? C'est-à-dire un avec zéro paramètres, un avec un, un avec deux, etc.

si c'est le cas, comment?

Merci!

Non, Javascript ne prend pas en charge la surcharge de fonctions.

Cependant, à l'intérieur de chaque fonction, vous avez accès à un objet arguments , qui contient tous les arguments fournis à la fonction, déclarés ou non. Vous pouvez simplement l'examiner et décider de ce que vous voulez faire exactement dans votre constructeur.

Exemple malin et non raffiné:

 function Foo() { function singleParamConstructor(foo) { ... } function twoParamConstructor(foo, bar) { ... } switch (arguments.length) { case 1 : singleParamConstructor(arguments[0]); break; case 2 : twoParamConstructor(arguments[0], arguments[1]); break; ... } } 

Cela pourrait aider: les types de paramètres du constructeur JavaScript