Class pada JavaScript adalah template untuk membuat object. Satu class mempunyai satu atau lebih properti atau fungsi. Satu class dapat menghasilkan banyak object. Semua object mempunyai properti dan fungsi yang sama. Setiap object bisa mempunyai nilai properti yang berbeda-beda. Setiap object bisa mempunyai output fungsi yang berbeda-beda.
Penulisan Class
Class dibuat dengan menggunakan keyword class. Class selalu mempunyai constructor.
Referensi Belajar JavaScript Class
class ClassName {
constructor() { ... }
}
Contoh di bawah ini memperlihatkan class Car dengan constructor. Class car mempunyai dua properti name dan year.
class Car {
constructor(name, year) {
this.name = name;
this.year = year;
}
}
Menggunakan Class
Class bukan suatu object. Class digunakan untuk membuat object.
let myCar1 = new Car("Ford", 2014);
let myCar2 = new Car("Audi", 2019);
Contoh di atas memperlihatkan class car dipakai untuk membuat dua object car. Gunakan keyword new untuk membuat object dari class.
Constructor
Setiap class harus mempunyai constructor. Constructor akan selalu dipanggil dan dieksekusi pada waktu object dibuat dari suatu class. Constructor biasanya digunakan untuk inisialisasi nilai properti atau nilai variable tertentu.
Constructor mempunyai parameter seperti juga fungsi. Nilai pada parameter tersebut diberikan pada waktu object dibuat dengan menggunakan keyword new.
Apabila suatu class tidak mempunyai constructor maka JavaScript akan otomatis menambahkan satu constructor tanpa parameter.
Fungsi Dalam Class
Fungsi dalam class biasa disebut juga dengan istilah method. Fungsi dalam class mempunyai format yang sama dengan fungsi pada object.
class ClassName {
constructor() { ... }
method_1() { ... }
method_2() { ... }
method_3() { ... }
}
}
Contoh di bawah ini memperlihatkan class Car. Class Car mempunyai method atau fungsi age(). Fungsi age mengembalikan umur dari Car.
class Car {
constructor(name, year) {
this.name = name;
this.year = year;
}
age() {
let date = new Date();
return date.getFullYear() - this.year;
}
}
let myCar = new Car("Ford", 2014);
document.getElementById("demo").innerHTML =
"My car is " + myCar.age() + " years old.";
Seperti fungsi pada umumnya, fungsi pada class dapat mempunyai parameter.
class Car {
constructor(name, year) {
this.name = name;
this.year = year;
}
age(x) {
return x - this.year;
}
}
let date = new Date();
let year = date.getFullYear();
let myCar = new Car("Ford", 2014);
document.getElementById("demo").innerHTML=
"My car is " + myCar.age(year) + " years old.";
Tutorial sebelumnya : Keyword this Pada JavaScript
Tutorial setelahnya : Membuat Object JavaScript
Semua Tutorial JavaScript : Tutorial JavaScript