Description
When you put the keyword new in front of a function call, the function is treated as a constructor. An JavaScript Objects with the proper JavaScript Prototypes is automatically created, bound to this in the function and returned at the end of the function. This allows you to do OO type stuff.
Syntax
function Rabbit(type) {
this.type = type
}
Rabbit.prototype.speak = function(line) {
console.log(`The ${this.type} rabbit says '${line}'`)
};
let weirdRabbit = new Rabbit("weird")
weirdRabbit.speak("I want carrots!")