𝗢𝗯𝗷𝗲𝗰𝘁 𝗖𝗼𝗻𝘀𝘁𝗿𝘂𝗰𝘁𝗼𝗿𝘀 𝗶𝗻 𝗝𝗮𝘃𝗮𝗦𝗰𝗿𝗶𝗽𝘁
तुम्हाला एकाच प्रकारच्या अनेक ऑब्जेक्ट्स तयार करण्याची आवश्यकता असते. JavaScript हे कार्य कार्यक्षमतेने करण्यासाठी अनेक मार्ग प्रदान करते.
Constructor Functions
Constructor म्हणजे नवीन ऑब्जेक्ट्स सेट करण्यासाठी वापरले जाणारे एक function आहे. चुका टाळण्यासाठी या नियमांचा वापर करा:
- Function च्या नावाचे पहिले अक्षर कॅपिटल (Capitalize) ठेवा. यामुळे ते constructor आहे हे ओळखण्यास मदत होते.
newकीवर्डचा वापर करा. जर तुम्ही हे विसरलात, तर function एका सामान्य function प्रमाणे चालते आणि ऑब्जेक्ट तयार करण्यात अपयशी ठरते.
Default Values
तुम्ही तुमच्या constructor मध्ये default values सेट करू शकता. यामुळे काही तपशील वगळले तरी तुमचे ऑब्जेक्ट्स वैध (valid) राहतील याची खात्री मिळते.
Example:
function Person(name = "Unknown", age = 0) {
this.name = name;
this.age = age;
}
जर तुम्ही new Person() कॉल केले, तर नाव "Unknown" होईल आणि वय 0 होईल.
Object.create()
तुम्ही अस्तित्वात असलेल्या ऑब्जेक्टवर आधारित नवीन ऑब्जेक्ट तयार करण्यासाठी Object.create() वापरू शकता. हे prototype-based inheritance वापरते. डेटा कॉपी करण्याऐवजी, नवीन ऑब्जेक्ट मूळ prototype ला लिंक होतो.
Memory Optimization
Methods थेट constructor मध्ये लिहू नका. जर तुम्ही तसे केले, तर प्रत्येक नवीन ऑब्जेक्टला त्या method ची स्वतःची कॉपी मिळते. यामुळे मेमरी वाया जाते.
त्याऐवजी, methods prototype मध्ये जोडा. यामुळे सर्व ऑब्जेक्ट्स एकाच method चा वापर करू शकतात.
Example:
Person.prototype.greet = function() {
console.log("Hello " + this.name);
};
Inheritance
Classes मुळे एक class दुसऱ्या class कडून गुणधर्म (inherit) घेऊ शकते. Parent constructor ला कॉल करण्यासाठी child class मध्ये super() कीवर्ड वापरा. यामुळे child class ला parent कडील properties वापरता येतात.
Constructors वापरण्याचे फायदे:
- Reusable code: एकाच पॅटर्नने अनेक ऑब्जेक्ट्स तयार करा.
- Clean logic: ऑब्जेक्ट सेटअप एकाच ठिकाणी ठेवा.
- Easy initialization: ऑब्जेक्ट तयार करताना विशिष्ट व्हॅल्यूज सेट करा.
- Inheritance: साध्या ऑब्जेक्ट्सपासून जटिल (complex) ऑब्जेक्ट्स तयार करा.
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