𝗝𝗮𝘃𝗮𝗦𝗰𝗿𝗶𝗽𝘁 𝗖𝗼𝗻𝘀𝘁𝗿𝘂𝗰𝘁𝗼𝗿 𝗙𝘂𝗻𝗰𝘁𝗶𝗼𝗻𝘀
एक ही संरचना (structure) वाले कई ऑब्जेक्ट्स बनाने के लिए constructor functions का उपयोग करें।
एक constructor function एक ब्लूप्रिंट (blueprint) की तरह काम करता है। आप इस ब्लूप्रिंट से ऑब्जेक्ट्स बनाने के लिए new कीवर्ड का उपयोग करते हैं। आपको constructor के नामों को कैपिटल लेटर (capital letter) से शुरू करना चाहिए।
यह कैसे काम करता है:
जब आप new कीवर्ड का उपयोग करते हैं, तो JavaScript चार काम करता है:
- यह एक नया खाली ऑब्जेक्ट बनाता है।
- यह
thisको उस नए ऑब्जेक्ट की ओर पॉइंट करने के लिए सेट करता है। - यह फंक्शन कोड को निष्पादित (execute) करता है।
- यह नए ऑब्जेक्ट को रिटर्न करता है।
this कीवर्ड अनिवार्य है। फंक्शन के अंदर, this आपके नए ऑब्जेक्ट को संदर्भित (refer) करता है।
उदाहरण:
function Employee(name, salary) { this.name = name; this.salary = salary; }
const emp1 = new Employee("Ram", 50000); const emp2 = new Employee("Kumar", 60000);
दोनों ऑब्जेक्ट्स एक ही संरचना साझा करते हैं।
मेथड्स (methods) जोड़ना:
आप एक constructor के अंदर फंक्शन जोड़ सकते हैं।
function Employee(name, salary) { this.name = name; this.salary = salary; this.displayInfo = function() { console.log(this.name + " earns " + this.salary); }; }
मेमोरी मैनेजमेंट (Memory management):
सीधे constructor के अंदर मेथड्स जोड़ने से हर ऑब्जेक्ट के लिए एक नई कॉपी बन जाती है। इससे अधिक मेमोरी का उपयोग होता है।
इसके बजाय, prototype प्रॉपर्टी का उपयोग करें।
Employee.prototype.greet = function() { console.log("Hello " + this.name); };
अब, प्रत्येक कर्मचारी greet मेथड की एक ही कॉपी साझा करता है। यह आपके कोड को अधिक कुशल (efficient) बनाता है।
सारांश:
- सिंगल ऑब्जेक्ट्स के लिए object literals का उपयोग करें।
- एक ही आकार (shape) वाले कई ऑब्जेक्ट्स के लिए constructor functions का उपयोग करें।
स्रोत: https://dev.to/dev_saravanan_journey/javascript-constructor-functions-k6k