Welcome aboard the OOP spaceship! Today, we will delve into constructors within JavaScript classes, which are pivotal for creating and initializing objects. Imagine a constructor as a recipe, defining the necessary ingredients for each object, just as for each cookie.
Constructors are unique methods within JavaScript classes, automatically called when creating a new object. Much like a recipe for a cake, constructors lay out the ingredients for our objects.
If we fail to define a constructor, JavaScript provides a default one. It's emblematic of a blank recipe card waiting for your custom creation!
Constructors are defined using the keyword constructor inside a class. They may accept parameters that help initialize object attributes. This is akin to a recipe specifying which ingredients are needed and the quantity of each. Here's an example of a constructor within a class:
Our Car class constructor accepts three parameters. Each time we create a new Car object, we supply these attributes.
Now, let's create our first Car object using the new keyword:
myCar is a Car object, representing a red Toyota Corolla. It derives its attributes from the constructor which we defined!
Despite a JavaScript class having the capability to house many methods, it comes with a limiting condition — it can accommodate only one constructor. If we declare more than one constructor, JavaScript will throw a SyntaxError.
In cases where no explicit constructor is defined, JavaScript supplements with a default one: constructor() {}.
We can assign default values to parameters in the case where we overlook their inclusion during object creation:
