Phương thức tĩnh JavaScript

Các phương thức của lớp static được định nghĩa trên chính lớp đó.
Chúng ta không thể gọi một phương thức static trên một đối tượng, chỉ sử dụng trên một lớp đối tượng.

Ví dụ

class Car {
    constructor(name){
        this.carName = name;
    }    
    static car1() {
        return "Innova";    
    }
}

const mycar = new Car("Kia");
// Chúng ta chỉ có thể gọi phương thức car1 trên chính lớp Car.
document.getElementById('demo').innerHTML = Car.car1();

// Không phải trên một đối tượng.
// Code sau sẽ không hoạt động.
// document.getElementById('demo').innerHTML = mycar.car1(); 

Xem kết quả

Nếu muốn sử dụng đối tượng myCar bên trong phương thức static, chúng ta có thể gửi nó dưới dạng tham số.

Ví dụ

class Car {
    constructor(name){
        this.carName = name;
    }    
    static car1(x) {
        return "Innova " + x.carName;    
    }
}

var myCar = new Car("Kia");
document.getElementById('demo').innerHTML = Car.car1(myCar);

Xem kết quả