When an object is created, a special property is assigned to it behind the scenes-the constructor property. It contains a reference to the constructor function used to create this object.
Continuing from the previous example:
h2.constructor Hero(name)
The constructor property contains a reference to a function. You can call this function to produce a new object.
var h3 = new h2.constructor('Rafaello'); h3.name; "Rafaello"
If an object was created using the object literal notation(), its constructor is the built-in Object() constructor function.
var o = {}; o.constructor; Object() typeof o.constructor; "function"