I'm struggling to understand the necessity of setting the 'constructor' property of a javascript object to the subclass when building a hierarchy. I find that the code below does what is expected without changing the constructor property, but in almost all references I find about the subject the constructor is set explicitly. Am I missing something ? (I don't find any explicit use of it in the ECMAScript specs either).