As of my knowledge, constructor function are just like normal functions (For convention we just uppercasing it).
When we prefix it with new
it becomes a constructor function which creates an object and returns it
function Foo(prop){
let this = {};
this.prop=prop;
return this;
}
Is this actually happens internally when we try to add a new
keyword before any function.