Constructor functions are used to create objects with shared properties and methods by defining those properties and methods on the constructor's prototype property. Objects created with the constructor inherit these properties and methods through the prototype chain.
Before modern ES6 classes, Constructor Functions were the standard way to create multiple objects of the same 'type.' They act like a blueprint, allowing you to stamp out new objects with the same structure.