Child.prototype = new Parent();
you assign the prototype of child to parent, to inherit parents prototype, methods and data.
Child.prototype.constructor = Child;
Then you assign the name of the child object, to its constructor property to give back its identity.
And inside the Child object constructor, you call the super class constructor, to take the context of “this” of the Child object into the Parent constructor. Here you can initialize any members of the parent object of the child property and control goes back to the child’s constructor and initialize the child property this time. Also known as Constructor Chaining.
Took me awhile to understand it. I hope anyone reading this would get it the first time otherwise let me know!