How JavaScript Prototype Works: Constructors, Inheritance, and new | CodeTrail