Langsung ke konten utama

Static Method didalam Class Javascript

Seluruh kendaraan pasti butuh yang namanya perawatan bukan? Jika iya, tentu kita perlu membuat method repair untuk memperbaiki kendaraan tersebut. 
Dalam analogi dunia nyata, ketika kendaraan mengalami kerusakan maka kendaraan tersebut akan diperbaiki di bengkel (factory), sehingga kita perlu membuat class baru yang berperan sebagai factory, sebutlah class tersebut VehicleFactory. Di dalam kelas VehicleFactory terdapat satu method repair() yang dapat menerima banyak kendaraan sebagai parameternya.

  1. class Vehicle {

  2.   constructor(licensePlate, manufacture) {

  3.       this.licensePlate = licensePlate;

  4.       this.manufacture = manufacture;

  5.       this.engineActive = false;

  6.   }

  7.    /*

  8.   kode lainnya

  9.   */

  10. }

  11.  

  12. /* kode lainnya dalam pembuatan class Car, 

  13. Motorcycle, dsb. */

  14.  

  15.  

  16. class VehicleFactory {

  17.  repair(vehicles) {

  18.     vehicles.forEach(vehicle => {

  19.       console.log(`Kendaraan ${vehicle.licensePlate} sedang melakukan perawatan`)

  20.     })

  21.   }

  22. }


Untuk mengakses method dari class, sejauh ini kita perlu membuat instance dari classnya terlebih dahulu. Sehingga untuk memanggil repair(), kita perlu membuat instance dari class VehicleFactory

  1. const johnCar = new Car("H121S", "Honda", 4);

  2. const tomMotor = new Motorcycle("GF121J", "Yamaha", 2);

  3. const dimasCar = new Car("TA1408K", "Tesla", 4);

  4.  

  5. /* Membuat instance untuk memanggil fungsi repair */

  6. const vehicleFactory = new VehicleFactory();

  7. vehicleFactory.repair([johnCar, tomMotor, dimasCar]);

  8.  

  9. /* output:

  10. Kendaraan H121S sedang melakukan perawatan

  11. Kendaraan GF121J sedang melakukan perawatan

  12. Kendaraan TA1408K sedang melakukan perawatan

  13. */


Kode tersebut berjalan sesuai harapan namun tidak efektif. Mengapa? Karena kita perlu membuat instance untuk sekedar memanggil satu fungsi dari class-nya tersebut. Membuat instance adalah membuat sebuah objek baru yang terbentuk melalui blueprint sehingga membutuhkan memori ekstra. Jika kita dapat mengakses method tersebut tanpa melalui instance mengapa tidak? Pada kasus inilah kita membutuhkan sebuah static method. Static method merupakan method yang tidak dapat dipanggil oleh instance dari class, namun dapat dipanggil melalui class-nya sendiri.
Pada ES6 class kita dapat membuat static method dengan menambahkan keyword static sebelum deklarasi method-nya:

  1. class Vehicle {

  2.   constructor(licensePlate, manufacture) {

  3.       this.licensePlate = licensePlate;

  4.       this.manufacture = manufacture;

  5.       this.engineActive = false;

  6.   }

  7.    /*

  8.   kode lainnya

  9.   */

  10. }

  11.  

  12. /* kode lainnya dalam pembuatan class Car, 

  13. Motorcycle, dsb. */

  14.  

  15. class VehicleFactory {

  16.  static repair(vehicles) {

  17.     vehicles.forEach(vehicle => {

  18.       console.log(`Kendaraan ${vehicle.licensePlate} sedang melakukan perawatan`)

  19.     })

  20.   }

  21. }


Kemudian untuk memanggil methodnya kita bisa panggil melalui class Vehicle kemudian repair().
Seluruh kendaraan pasti butuh yang namanya perawatan bukan? Jika iya, tentu kita perlu membuat method repair untuk memperbaiki kendaraan tersebut. Dalam analogi dunia nyata, ketika kendaraan mengalami kerusakan maka kendaraan tersebut akan diperbaiki di bengkel (factory), sehingga kita perlu membuat class baru yang berperan sebagai factory, sebutlah class tersebut VehicleFactory. Di dalam kelas VehicleFactory terdapat satu method repair() yang dapat menerima banyak kendaraan sebagai parameternya. 

  1. class Vehicle {

  2.   constructor(licensePlate, manufacture) {

  3.       this.licensePlate = licensePlate;

  4.       this.manufacture = manufacture;

  5.       this.engineActive = false;

  6.   }

  7.    /*

  8.   kode lainnya

  9.   */

  10. }

  11.  

  12. /* kode lainnya dalam pembuatan class Car, 

  13. Motorcycle, dsb. */

  14.  

  15.  

  16. class VehicleFactory {

  17.  repair(vehicles) {

  18.     vehicles.forEach(vehicle => {

  19.       console.log(`Kendaraan ${vehicle.licensePlate} sedang melakukan perawatan`)

  20.     })

  21.   }

  22. }


Untuk mengakses method dari class, sejauh ini kita perlu membuat instance dari classnya terlebih dahulu. Sehingga untuk memanggil repair(), kita perlu membuat instance dari class VehicleFactory

  1. const johnCar = new Car("H121S", "Honda", 4);

  2. const tomMotor = new Motorcycle("GF121J", "Yamaha", 2);

  3. const dimasCar = new Car("TA1408K", "Tesla", 4);

  4.  

  5. /* Membuat instance untuk memanggil fungsi repair */

  6. const vehicleFactory = new VehicleFactory();

  7. vehicleFactory.repair([johnCar, tomMotor, dimasCar]);

  8.  

  9. /* output:

  10. Kendaraan H121S sedang melakukan perawatan

  11. Kendaraan GF121J sedang melakukan perawatan

  12. Kendaraan TA1408K sedang melakukan perawatan

  13. */


Kode tersebut berjalan sesuai harapan namun tidak efektif. Mengapa? Karena kita perlu membuat instance untuk sekedar memanggil satu fungsi dari class-nya tersebut. Membuat instance adalah membuat sebuah objek baru yang terbentuk melalui blueprint sehingga membutuhkan memori ekstra. Jika kita dapat mengakses method tersebut tanpa melalui instance mengapa tidak? Pada kasus inilah kita membutuhkan sebuah static method. Static method merupakan method yang tidak dapat dipanggil oleh instance dari class, namun dapat dipanggil melalui class-nya sendiri.
Pada ES6 class kita dapat membuat static method dengan menambahkan keyword static sebelum deklarasi method-nya:

  1. class Vehicle {

  2.   constructor(licensePlate, manufacture) {

  3.       this.licensePlate = licensePlate;

  4.       this.manufacture = manufacture;

  5.       this.engineActive = false;

  6.   }

  7.    /*

  8.   kode lainnya

  9.   */

  10. }

  11.  

  12. /* kode lainnya dalam pembuatan class Car, 

  13. Motorcycle, dsb. */

  14.  

  15. class VehicleFactory {

  16.  static repair(vehicles) {

  17.     vehicles.forEach(vehicle => {

  18.       console.log(`Kendaraan ${vehicle.licensePlate} sedang melakukan perawatan`)

  19.     })

  20.   }

  21. }


Kemudian untuk memanggil methodnya kita bisa panggil melalui class Vehicle kemudian repair().

Postingan populer dari blog ini

Ekonomi Makro

                                                                     Ekonomi Makro Ekonomi makro atau makro-ekonomi adalah studi tentang ekonomi secara keseluruhan. Makro-ekonomi menjelaskan perubahan ekonomi yang mempengaruhi banyak masyakarakat, perusahaan, dan pasar. Ekonomi makro dapat digunakan untuk menganalisis cara terbaik untuk memengaruhi target-target kebijaksanaan seperti pertumbuhan ekonomi, stabilitas harga, tenaga kerja dan pencapaian keseimbangan neraca yang berkesinambungan. Meskipun ekonomi makro merupakan bidang pembelajaran yang luas, ada dua area penelitian yang menjadi ciri khas disiplin ini: kegiatan untuk mempelajari sebab dan akibat dari fluktuasi penerimaan negara jangka pendek (siklus bisnis), dan kegiatan untuk mempelajari faktor penentu dari pertumbuhan ekonomi jangka panjang ...

Apa Itu JSON?

Setelah kita mengetahui apa itu Web API dan cara pengujiannya menggunakan Postman, sekarang saatnya kita mempelajari suatu format yang biasa digunakan dalam transaksi data menggunakan Web API, yaitu JSON. Jauh pada materi sebelumnya, atau jika Anda sudah mengikuti kelas  Belajar Dasar Pemrograman Web ,  tentunya Anda sudah mengenal dan menggunakan JSON bukan? Pada materi kali ini kita akan membahas JSON lebih detail lagi. JSON sendiri adalah singkatan dari JavaScript Object Notation. JSON merupakan format yang sering digunakan dalam pertukaran data. Saat ini JSON banyak diandalkan karena formatnya berbasis teks dan relatif mudah dibaca. Bukan hanya JavaScript, walaupun memiliki nama JavaScript Object Notation, format JSON ini dapat digunakan oleh hampir semua bahasa pemrograman yang ada. Jika Anda belajar fundamental dalam membangun aplikasi Android pada kelas Dicoding, baik menggunakan Kotlin ataupun Java, Anda akan berhadapan dengan JSON untuk transaksi datanya. Lalu seperti...

3 Situs Penerjemah PDF Gratis Terbaik

Berikut adalah 3 situs penerjemah PDF online gratis. Dengan situs PDF translator ini, Agan bisa mengunggah file PDF berbahasa Inggris dan kemudian menerjemahkan PDF itu dalam beberapa bahasa seperti: bahasa Jerman, Spanyol, Prancis, dan banyak lagi lainnya. Agan juga dapat mencoba situs web ini meskipun file PDF Agan bukan file PDF yang berbahasa Inggris. Cukup unggah file PDF, atur bahasa