खोज…
टिप्पणियों
कंस्ट्रक्टर फ़ंक्शन वास्तव में सिर्फ नियमित कार्य हैं, उनके बारे में कुछ खास नहीं है। यह केवल new
कीवर्ड है जो ऊपर दिए गए उदाहरणों में दिखाए गए विशेष व्यवहार का कारण बनता है। यदि वांछित है, तो आपको this
मान को स्पष्ट रूप से बांधने की आवश्यकता होगी, फिर भी कंस्ट्रक्टर फ़ंक्शन को एक नियमित फ़ंक्शन की तरह कहा जा सकता है।
एक कंस्ट्रक्टर फ़ंक्शन की घोषणा करना
कंस्ट्रक्टर फ़ंक्शन एक नए ऑब्जेक्ट के निर्माण के लिए डिज़ाइन किए गए फ़ंक्शन हैं। एक निर्माता समारोह के भीतर, कीवर्ड this
एक नव निर्मित वस्तु जो मूल्यों को सौंपा जा सकता को दर्शाता है। कंस्ट्रक्टर अपने आप इस नए ऑब्जेक्ट को "वापस" करता है।
function Cat(name) {
this.name = name;
this.sound = "Meow";
}
new
कीवर्ड का उपयोग करके कंस्ट्रक्टर के कार्य किए जाते हैं:
let cat = new Cat("Tom");
cat.sound; // Returns "Meow"
कंस्ट्रक्टर के कार्यों में एक prototype
प्रॉपर्टी भी होती है, जो उस ऑब्जेक्ट की ओर इशारा करती है, जिसके गुण उस कंस्ट्रक्टर के साथ बनाई गई सभी वस्तुओं द्वारा स्वचालित रूप से विरासत में प्राप्त होते हैं:
Cat.prototype.speak = function() {
console.log(this.sound);
}
cat.speak(); // Outputs "Meow" to the console
कंस्ट्रक्टर कार्यों द्वारा बनाई गई वस्तुओं में उनके प्रोटोटाइप पर एक विशेष संपत्ति भी होती है जिसे constructor
कहा जाता है, जो उन्हें बनाने के लिए उपयोग किए जाने वाले फ़ंक्शन को इंगित करता है:
cat.constructor // Returns the `Cat` function
निर्माण कार्यों द्वारा बनाई गई वस्तुओं को भी instanceof
ऑपरेटर द्वारा निर्माण कार्य के "उदाहरण" माना जाता है:
cat instanceof Cat // Returns "true"