𝗖𝗼𝗻𝘀𝘁𝗿𝘂𝗰𝘁𝗼𝗿𝘀 𝗶𝗻 𝗝𝗮𝘃𝗮𝗦𝗰𝗿𝗶𝗽𝘁
Membuat objek satu per satu itu lambat. Jika Anda membutuhkan sepuluh siswa dengan properti yang sama, Anda membuang waktu menulis kode yang sama berulang kali.
JavaScript mengatasi hal ini dengan Constructor Functions.
Bayangkan konstruktor sebagai sebuah cetak biru (blueprint). Sebuah cetak biru untuk rumah bukanlah sebuah rumah, tetapi Anda menggunakannya untuk membangun banyak rumah.
Cara kerjanya:
Sebuah konstruktor adalah fungsi khusus. Anda menggunakan kata kunci new untuk membuat objek darinya.
Contoh:
function Student(name, age, city) {
this.name = name;
this.age = age;
this.city = city;
}
const student1 = new Student("John", 21, "Chennai");
const student2 = new Student("David", 22, "Madurai");
Mengapa menggunakan ini?
- Menghemat waktu.
- Mencegah pengulangan kode.
- Menciptakan struktur standar untuk data Anda.
Peran this:
Di dalam konstruktor, kata this merujuk pada objek baru yang sedang Anda buat.
Jika seorang guru berkata "kelas saya," kata "saya" merujuk pada guru spesifik tersebut. Dalam kode, this.name merujuk pada nama dari objek spesifik yang baru saja Anda buat.
Apa yang terjadi saat Anda menggunakan new?
Saat Anda menjalankan const emp = new Employee("John", 50000), empat langkah terjadi:
- JavaScript membuat objek kosong.
- Kata kunci
thismerujuk pada objek baru tersebut. - Properti ditambahkan ke dalam objek.
- Objek tersebut dikembalikan kepada Anda.
Menambahkan Aksi:
Objek dapat melakukan lebih dari sekadar menyimpan data. Mereka dapat melakukan aksi. Dalam pemrograman, aksi-aksi ini disebut method.
Contoh:
function Laptop(brand, ram) {
this.brand = brand;
this.ram = ram;
this.showDetails = function() {
console.log(this.brand, this.ram);
};
}
Objek Laptop sekarang menyimpan data dan sebuah fungsi untuk menampilkan data tersebut.
Praktik Terbaik:
- Selalu gunakan huruf kapital pada huruf pertama konstruktor. Gunakan
Student, bukanstudent. Ini memberi tahu pengembang lain untuk menggunakan kata kuncinew. - Selalu gunakan kata kunci
new. Jika Anda melupakannya, fungsi tersebut akan bertindak seperti fungsi biasa dan merusak kode Anda.
Perbandingan:
Object Literals:
- Bagus untuk satu objek tunggal.
- Sederhana dan cepat.
- Tanpa cetak biru.
Constructor Functions:
- Bagus untuk banyak objek.
- Dapat digunakan kembali dan terorganisir.
- Menggunakan pendekatan cetak biru.
Source: https://www.w3schools.com/js/js_object_constructors.asp Source: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Classes/constructor Full post: https://dev.to/annapoo/constructor-in-javascript-4nbm