Dans ECMAScript 5th edition (December 2009), le comportement d'un constructeur est le suivant:
[...]
8. Let result be the result of calling the [[Call]] internal property of F, providing obj as the this value and providing the argument list passed into [[Construct]] as args. 9. If Type(result) is Object then return result. 10. Return obj.
contrairement à ce que Marc m'a dit ce midi (si le résultat est 'undefined' on retourne l'objet construit avant l'appel de fonction, sinon on retourne le résultat). J'imagine que Marc faisait référence à une version antérieure du standard.
Erick