Konstruktor Objek dalam JavaScript
Anda perlu mencipta banyak objek daripada jenis yang sama. JavaScript menawarkan beberapa cara untuk melakukannya dengan cekap.
Fungsi Konstruktor
Konstruktor ialah fungsi yang digunakan untuk menyediakan objek baharu. Gunakan peraturan ini untuk mengelakkan ralat:
- Gunakan huruf besar pada huruf pertama nama fungsi. Ini membantu anda mengenal pastinya sebagai sebuah konstruktor.
- Gunakan kata kunci
new. Jika anda terlupa, fungsi tersebut akan berjalan seperti fungsi biasa dan gagal mencipta objek.
Nilai Lalai
Anda boleh menetapkan nilai lalai dalam konstruktor anda. Ini memastikan objek anda kekal sah walaupun anda melangkau beberapa butiran.
Contoh:
function Person(name = "Unknown", age = 0) {
this.name = name;
this.age = age;
}
Jika anda memanggil new Person(), nama akan menjadi "Unknown" dan umur akan menjadi 0.
Object.create()
Anda boleh menggunakan Object.create() untuk mencipta objek baharu berdasarkan objek yang sedia ada. Ini menggunakan pewarisan berasaskan prototaip. Daripada menyalin data, objek baharu tersebut akan dipautkan kepada prototaip asal.
Pengoptimuman Memori
Jangan letakkan kaedah (method) di dalam konstruktor itu sendiri. Jika anda melakukannya, setiap objek baharu akan mendapat salinan kaedah tersebut. Ini membazirkan memori.
Sebaliknya, tambahkan kaedah kepada prototaip. Dengan cara ini, semua objek akan berkongsi satu versi kaedah yang sama.
Contoh:
Person.prototype.greet = function() {
console.log("Hello " + this.name);
};
Pewarisan
Kelas membolehkan satu kelas mewarisi daripada kelas yang lain. Gunakan kata kunci super() dalam kelas anak untuk memanggil konstruktor induk. Ini membolehkan kelas anak mengakses sifat (properties) daripada kelas induk.
Manfaat menggunakan konstruktor:
- Kod boleh guna semula: Cipta banyak objek dengan satu corak.
- Logik yang bersih: Simpan penyediaan objek di satu tempat.
- Inisialisasi yang mudah: Tetapkan nilai khusus semasa penciptaan.
- Pewarisan: Bina objek yang kompleks daripada objek yang lebih ringkas.
Source: https://www.geeksforgeeks.org/javascript/js-constructor-method/ Source: https://www.w3schools.com/js/js_object_constructors.asp
Full post: https://dev.to/kamalesh_ar_6252544786997/object-constructors-in-javascript-2e96