Description

When you put the keyword new in front of a function call, the function is treated as a constructor. An object with the proper prototype 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!")