Sama seperti konstruktor, untuk membuat instance kelas di ES6, kami menggunakan kata kunci baru.
- class Car {
- constructor(manufacture, color) {
- this.manufacture = manufacture;
- this.color = color;
- this.enginesActive = false;
- }
- }
- const johnCar = new Car("Honda", "Red");
Menggunakan ES6 untuk membuat kelas lebih ketat daripada menggunakan konstruktor. Dalam konstruktor, menggunakan kata kunci baru memerlukan pembuatan instance. Jika kita tidak menuliskannya, maka akan muncul error berikut:
- class Car {
- constructor(manufacture, color) {
- this.manufacture = manufacture;
- this.color = color;
- this.enginesActive = false;
- }
- }
- const johnCar = Car("Honda", "Red");
- /* error:
- TypeError: Class constructor Car cannot be invoked without 'new'
- */
Kita juga dapat membuat beberapa instance dari kelas yang sama, tentunya objek yang kita buat memiliki karakteristik yang sama (atribut dan metode). Meskipun sama, nilai atributnya unik atau bisa berbeda. Contohnya seperti ini:
- class Car {
- constructor(manufacture, color) {
- this.manufacture = manufacture;
- this.color = color;
- this.enginesActive = false;
- }
- }
- const johnCar = new Car("Honda", "Red");
- const adamCar = new Car("Tesla", "Black");
- console.log(johnCar.manufacture);
- console.log(adamCar.manufacture);
- /* output:
- Honda
- Tesla
- */
Variabel johnCar dan adamCar adalah objek dari Mobil. Tentunya keduanya akan memiliki atribut pabrikan, warna dan aktivitas mesin. Akan tetapi, pada keluarannya kita melihat bahwa nilai properti dari kedua objek tersebut berbeda, karena kita dapat memberikan nilai yang berbeda saat membuat objek.
Posting Komentar
Posting Komentar