Javascript ES6 allows you to code like a regular OOP languages. Although inner workings of Javascript remains same, it allows more neat code.

Let us go through how to create a simple class in Javascript.

Define a class by using the keyword class and put the class codes under the curly braces.

class MyClass {

}

We can instantiate the object of that class by using new keyword and class name.

let myclass = new MyClass();

 

We can create the constructor with the constructor keyword.

class MyClass {

    constructor(val1, val2) {
        this.name1 = val1;
        this.name2 = val2;
    }
    
}

Now we can instantiate the object with initial values as follows

let myclass = new MyClass("Name1", "Name2");

 

Classes can have methods and those can be accessed by objects

class MyClass {

    hello(name) {
        return "Hello : " + name;
    }

    display() {
        var output;
        output = "Hello  " + this.name1;
        output += "\n Hello : " + this.name2;
        return output;
    }
}

These methods can be accessed by Objects

let myclass = new MyClass("Name1", "Name2");
console.log(myclass.hello("my name"));
console.log(myclass.display());

Static methods are creating using the keyword static

class MyClass {
   
    static myStatic(name) {
        return "Hello : " + name;
    }
  
}

Static methods are accessed using class names instead of object names

console.log(MyClass.myStatic("hello Sttaic"));

 

Setters use the keyword set as prefix followed by method name with a single argument.

Getters use the keyword get as prefix followed by the name with no arguments but a return value.

class MyClass {

    set firstName(value) {
        if (value) {
            this.name1 = value;
        }
    }

    get firstName() {
        return "Hello : " + this.name1.toUpperCase();
    }
}

We can use it on objects like a variable

let myclass = new MyClass("Name1", "Name2");
myclass.firstName = "New Name";
console.log(myclass.firstName);

This is a very simple way to create a class in Javascript and using it. We can use more of the object oriented features too. Those will be covered later.

Leave a Reply

Your email address will not be published. Required fields are marked *