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. Final final final final draft Standard ECMA-262 5th edition

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