Introduced in ES6, classes are simply the syntactical sugar over function prototyping.
A class is a type of function, but instead of using the keyword function to initiate it, we use the keyword class, and the properties are assigned inside a constructor() method.
Class Basic syntax
Use the keyword class to create a class, and always add the constructor() method. The constructor method is called each time the class object is initialized. After adding a constructor method we can add other methods.
class ClassName {
// class methods
constructor() { ... }
method1() { ... }
method2() { ... }
method3() { ... }
...
}
Example
A simple class definition for a class named “Product”:
Class Vehicle{
constructor(brand) {
this.carname = brand;
}
}
Now you can create objects using the Vehicle
class:
Example
class Vehicle {
constructor(brand) {
this.brand = brand;
}
}
mycar = new Vehicle("Toyota");
Methods
A class in ES6 contains methods for functioning, out of which the constructor method is special, where you initialize properties and called automatically when a class is initiated, and it has to have the exact name “constructor” , in fact, if you do not have a constructor method, JavaScript will add an invisible and empty constructor method.
However we are also free to make our own methods, the syntax should be as below:
class Vehicle {
constructor(brand) {
this.brand = brand;
}
print() {
return "I have a vehicle of the brand" + this.brand;
}
}
mycar = new Vehicle("Toyota");
document.getElementById("demo").innerHTML = mycar.print();
Inheritance
To create a class inheritance, use the extends keyword.
A class created with a class inheritance inherits all the methods from another class:
class Car {
constructor(brand) {
this.brand = brand;
}
print() {
return "I have a vehicle of the brand" + this.brand;
}
}
class Car extends Vehicle {
constructor(brand, mod) {
super(brand);
this.model = mod;
}
show() {
return this.print() + ', it is a ' + this.model;
}
}
mycar = new Car("Hyundai", "Verna");
document.getElementById("demo").innerHTML = mycar.show();
Important Note :
A common pitfall for novice developers is to put a comma between class methods, which would result in a syntax error.
The notation here is not to be confused with object literals. Within the class, no commas are required.
Top comments (0)