JavaScript Constructor Functions
एकाच प्रकारची रचना (structure) असलेले अनेक ऑब्जेक्ट्स तयार करण्यासाठी constructor functions वापरा.
Constructor function एका ब्लूप्रिंटप्रमाणे (blueprint) काम करते. या ब्लूप्रिंटपासून ऑब्जेक्ट्स तयार करण्यासाठी तुम्ही new कीवर्ड वापरता. Constructor ची नावे नेहमी कॅपिटल अक्षराने सुरू केली पाहिजेत.
हे कसे कार्य करते:
जेव्हा तुम्ही 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 वापरा.
- एकाच प्रकारची रचना असलेल्या अनेक ऑब्जेक्ट्ससाठी constructor functions वापरा.
स्रोत: https://dev.to/dev_saravanan_journey/javascript-constructor-functions-k6k