JavaScript में Object Constructors
आपको एक ही प्रकार के कई objects बनाने की आवश्यकता होती है। JavaScript इसे कुशलतापूर्वक करने के कई तरीके प्रदान करता है।
Constructor Functions
Constructor एक function है जिसका उपयोग नए objects को सेटअप करने के लिए किया जाता है। त्रुटियों से बचने के लिए इन नियमों का पालन करें:
- Function के नाम का पहला अक्षर Capitalize करें। इससे आपको इसे constructor के रूप में पहचानने में मदद मिलती है।
newkeyword का उपयोग करें। यदि आप इसे भूल जाते हैं, तो function एक सामान्य function की तरह चलता है और object बनाने में विफल रहता है।
Default Values
आप अपने constructor में default values सेट कर सकते हैं। यह सुनिश्चित करता है कि यदि आप कुछ विवरण छोड़ भी देते हैं, तो भी आपके objects वैध रहें।
Example:
function Person(name = "Unknown", age = 0) {
this.name = name;
this.age = age;
}
यदि आप new Person() को कॉल करते हैं, तो name "Unknown" हो जाता है और age 0 हो जाती है।
Object.create()
आप किसी मौजूदा object के आधार पर नया object बनाने के लिए Object.create() का उपयोग कर सकते हैं। यह prototype-based inheritance का उपयोग करता है। डेटा की कॉपी बनाने के बजाय, नया object मूल prototype से जुड़ जाता है।
Memory Optimization
Methods को constructor के अंदर न रखें। यदि आप ऐसा करते हैं, तो प्रत्येक नए object को उस method की अपनी अलग copy मिलती है। इससे memory बर्बाद होती है।
इसके बजाय, methods को prototype में जोड़ें। इस तरह, सभी objects उस method के एक ही version को साझा करते हैं।
Example:
Person.prototype.greet = function() {
console.log("Hello " + this.name);
};
Inheritance
Classes एक class को दूसरी class से inherit करने की अनुमति देती हैं। parent constructor को कॉल करने के लिए child class में super() keyword का उपयोग करें। इससे child, parent की properties को access कर सकता है।
Constructors का उपयोग करने के लाभ:
- Reusable code: एक ही pattern से कई objects बनाएँ।
- Clean logic: Object setup को एक ही स्थान पर रखें।
- Easy initialization: creation के दौरान विशिष्ट values सेट करें।
- Inheritance: सरल objects से जटिल objects बनाएँ।
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