𝗞𝗼𝗻𝘀𝘁𝗿𝘂𝗸𝘁𝗼𝗿 𝗢𝗯𝗷𝗲𝗸 𝗱𝗮𝗹𝗮𝗺 𝗝𝗮𝘃𝗮𝗦𝗰𝗿𝗶𝗽𝘁
Konstruktor JavaScript membantu anda membina objek dengan cekap. Anda boleh menggunakannya untuk mencipta banyak objek dengan struktur yang sama.
Fungsi Konstruktor
Konstruktor ialah fungsi untuk menginisialisasi objek. Gunakan kata kunci new untuk memanggilnya. Jika anda terlupa menggunakan kata kunci new, fungsi tersebut tidak akan berfungsi seperti yang diharapkan.
Sentiasa mulakan nama konstruktor dengan huruf besar. Ini membantu anda membezakannya daripada fungsi biasa.
Contoh:
- Person(name, age)
Object.create()
Anda boleh menggunakan Object.create() untuk membuat objek baharu menggunakan objek sedia ada sebagai prototaip. Kaedah ini menetapkan pewarisan antara objek.
Nilai Lalai
Anda boleh menetapkan nilai lalai dalam konstruktor anda. Ini memastikan objek anda sentiasa mempunyai data yang sah. Jika anda tidak memberikan nilai, konstruktor akan menggunakan nilai lalai tersebut.
Contoh: function Person(name = "Unknown", age = 0) { this.name = name; this.age = age; }
Prototaip dan Memori
Menambah kaedah (methods) kepada prototaip menjimatkan memori. Daripada setiap objek mempunyai salinan fungsinya sendiri, semuanya berkongsi satu versi daripada prototaip.
Contoh: Person.prototype.greet = function() { console.log("Hello " + this.name); };
Pewarisan
Kelas membolehkan satu kelas mewarisi daripada kelas yang lain. Gunakan kata kunci super() untuk memanggil konstruktor induk. Ini membolehkan kelas anak menggunakan sifat (properties) dan kaedah daripada kelas induk.
Mengapa menggunakan konstruktor?
- Kebolehgunaan semula: Cipta banyak objek daripada satu templat.
- Pengorganisasian: Simpan logik penyediaan objek di satu tempat.
- Inisialisasi: Tetapkan nilai khusus serta-merta semasa penciptaan.
- Pewarisan: Bina objek yang kompleks daripada objek yang lebih ringkas.
- Penyelenggaraan: Menjadikan kod anda lebih mudah dibaca dan diurus.
Sumber: https://www.geeksforgeeks.org/javascript/js-constructor-method/ Sumber: https://www.w3schools.com/js/js_object_constructors.asp
Hantaran penuh: https://dev.to/kamalesh_ar_6252544786997/object-constructors-in-javascript-2e96