Introduced in ES6 as a major update to the Object Oriented Programming concept in Javascript, Classes are templates for creating objects.
Classes can also referred to as the “syntactic sugar” of constructor functions. This means that they are an alternative way of writing constructor functions.
Working With a Class
One way to define a class is to use the class declaration. To declare a class, you use the “class” keyword followed by the name of the class.
class Rectangle{
}
Using constructor Method
A constructor method is a special method created within a declared class.
Constructor methods are used to initialize object properties created within that class.
There can only be one special method with the name “constructor” within a class. A syntaxError will be thrown if a class contains more than one instance of a constructor method.
class Rectangle{
constructor(width, height){
this.width = width;
this.height = height;
}
}
Class Methods
class methods can be referred to as a special method within your declared class.
This special class manipulates, interacts with or showcase the object properties created with the constructor method.
For instance, after declaring the properties “width” and “height” of the Rectangle class, it is possible that we also want to interact with these declared properties and perform some kind of calculation with them.
Also, after creating this special method that performs the calculation, we might also want to create another method that calls this method so that the result can be seen when it is called through the class instance.
class Rectangle{
constructor(width, height){
this.width = width;
this.height = height;
}
//Method
calcArea(){
return this.width * this.height;
}
//Getter
getArea(){
return this.calcArea();
}
}
Just writing the code like this and running it won’t give any result.
We need to now create an instance of this our “Rectangle” class so that we can showcase the logic that we have created.
We create an instance like so …
const rectangle = new Rectangle(10,10);
console.log(rectangle.getArea()); //100
Full Working Code:
class Rectangle{
constructor(width, height){
this.width = width;
this.height = height;
}
//Method
calcArea(){
return this.width * this.height;
}
//Getter
getArea(){
return this.calcArea();
}
}
const rectangle = new Rectangle(10,10);
console.log(rectangle.getArea()); //100