Hi rnd me,
First let me thank you for all the time you've taken so far. I admit that I am still noodling over your comments. I'm afraid there is no convenient source to review. When I ran into this problem this is the test code I created to walk through the various scenarios. It was meant to be simpler!
But thanks to you and what I understand so far I have a partial solution.
By removing the reset of the Prototype's 'constructor' property I can now see the new properties and methods being added to what I believe are the correct Prototype levels for the right Object Instantiations. Thanks for that.
However, this has allowed me to look deeper and discover another result that I cannot explain. The following code gives me two different results:
objC.constructor.prototype.propNew = 18;
Object.getPrototypeOf(objC).propNew = 18;
I would have expected these two statements to be the same; however, the first appears in ALL of the Objects (objA,objB,objC) whereas the second only appears in objC's Prototype Chain.
When I test the value returned for each Prototype I receive [object Object] for the first and Object 'OneObj' for the second.
Any thoughts on why these do not return the same Prototype Object? Or why they behave differently?