खोज…


टिप्पणियों

कंस्ट्रक्टर फ़ंक्शन वास्तव में सिर्फ नियमित कार्य हैं, उनके बारे में कुछ खास नहीं है। यह केवल 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"


Modified text is an extract of the original Stack Overflow Documentation
के तहत लाइसेंस प्राप्त है CC BY-SA 3.0
से संबद्ध नहीं है Stack Overflow