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.
Constructor functions are invoked using the new keyword:
Constructor functions also have a prototype property which points to an object whose properties are automatically inherited by all objects created with that constructor:
Objects created by constructor functions also have a special property on their prototype called constructor, which
points to the function used to create them:
Objects created by constructor functions are also considered to be "instances" of the constructor function by the