JavaScript Constructor functions Declaring a constructor function


Constructor functions are functions designed to construct a new object. Within a constructor function, the keyword this refers to a newly created object which values can be assigned to. Constructor functions "return" this new object automatically.

function Cat(name) { = name;
  this.sound = "Meow";

Constructor functions are invoked using the new keyword:

let cat = new Cat("Tom");
cat.sound; // Returns "Meow"

Constructor functions also have a prototype property which points to an object whose properties are automatically inherited by all objects created with that constructor:

Cat.prototype.speak = function() {

cat.speak(); // Outputs "Meow" to the console

Objects created by constructor functions also have a special property on their prototype called constructor, which points to the function used to create them:

cat.constructor // Returns the `Cat` function

Objects created by constructor functions are also considered to be "instances" of the constructor function by the instanceof operator:

cat instanceof Cat // Returns "true"