Search by

    Terakhir diperbaharui: Oct 24, 2020

    Class

    Pada bahasa pemrograman seperti Java atau C# konsep class cukup familiar bahkan penggunaan class cukup mendominasi dalam pembuatan aplikasi Java atau C#.

    Class bisa didefinisikan sebagai kumpulan variable dan method yang dipakai sebagai blueprint atau rancangan untuk membuat sebuah object(bukan JavaScript Object).

    Apakah JavaScript juga memiliki konsep class?

    Asalnya JavaScript tidak memiliki konsep class, karena JavaScript bukan Object Oriented Programming(OOP) language tapi Prototype-based language.

    Namun pada tahun 2015, ES6 memperkenalkan konsep class, yang mirip dengan class pada OOP language meskipun tidak benar-benar mirip.

    Syntax class pada JavaScript:

    1class className {
    2 constructor()
    3
    4 method1()
    5 method2()
    6 ...
    7}

    contoh:

    1class Dino {
    2 constructor(name) {
    3 this.name = name;
    4 }
    5
    6 weight = 100;
    7
    8 sayHi() {
    9 console.log(`Hi my name is ${this.name}`);
    10 }
    11}
    12
    13const blueDino = new Dino('brachio');
    14const redDino = new Dino('t-rex');
    15
    16//call
    17
    18console.log(blueDino.weight); //100
    19console.log(redDino.weight); //100
    20
    21blueDino.sayHi(); // Hi my name is brachio
    22redDino.sayHi(); // Hi my name is t-rex

    Pada code di atas kita membuat dua object/instance baru yaitu blueDino & redDino yang keduanya memiliki 'karakter' yang sama karena sama-sama menerapkan blueprint dari class Dino.

    Instance adalah sebuah object perwujudan dari class, memiliki variable dan method yang sama dan sesuai dengan apa yang digambarkan oleh class.

    class instance

    Bagian-bagian Class

    1. Constructor
    special method yang dieksekusi sebelum method yang lain.

    2. Field
    variable yang dideklarasikan di dalam class.

    3. Method
    function yang dideklarasikan di dalam class.

    4. Getter/Setter
    method yang digunakan untuk mengakses value dan mengubah value di dalam class.

    Contoh

    1class Dino {
    2 //constructor
    3 constructor(name, age, weight) {
    4 this.name = name;
    5 this.age = age;
    6 this.weight = weight;
    7 }
    8
    9 // getter
    10 get name() {
    11 return this.name;
    12 }
    13
    14 // setter
    15 set name(newName) {
    16 this.name = newName
    17 }
    18
    19 // method
    20 greeting() {
    21 console.log(`Hi my name is ${this.name}`);
    22 }
    23}

    Untuk saat ini kita cukup mengetahui bahwa JavaScript memiliki konsep class meskipun tidak benar-benar mirip dengan class pada OOP language seperti Java atau C#.