Its main purpose is to describe how an object should be created and each object created is know as an instance of that object type.
It's common practice to name your constructor functions with a capital letter, that way you know they are a constructor function and you should then use the
new keyword when you create an instance of that object (instantiate).
this inside a constructor function references the new instance of the object. So in the example above the
referenceNumber are passed in and assigned to the new object which is created.