"यदि कोई कर्मचारी अपना काम अच्छी तरह से करना चाहता है, तो उसे पहले अपने औजारों को तेज करना होगा।" - कन्फ्यूशियस, "द एनालेक्ट्स ऑफ कन्फ्यूशियस। लू लिंगगोंग"
मुखपृष्ठ > प्रोग्रामिंग > ES6 कक्षाओं का उपयोग फ़ंक्शंस को बढ़ाने और इंस्टेंस डेटा तक पहुंचने के लिए कैसे किया जा सकता है?

ES6 कक्षाओं का उपयोग फ़ंक्शंस को बढ़ाने और इंस्टेंस डेटा तक पहुंचने के लिए कैसे किया जा सकता है?

2024-11-12 को प्रकाशित
ब्राउज़ करें:399

How can ES6 Classes be Used to Extend Functions and Access Instance Data?

ES6 क्लासेस के साथ फंक्शन का विस्तार

ES6 में, विशेष ऑब्जेक्ट्स को बढ़ाया जा सकता है, जिससे फंक्शन ऑब्जेक्ट से इनहेरिटेंस की अनुमति मिलती है। हालांकि ऐसी वस्तुओं को फ़ंक्शन के रूप में कॉल करना संभव है, इस कॉल के लिए तर्क लागू करना चुनौतीपूर्ण हो सकता है।

फंक्शन कॉल में इंस्टेंस डेटा पास करना

किसी क्लास को फ़ंक्शन के रूप में कॉल करते समय , यह विंडो ऑब्जेक्ट को संदर्भित करता है। इंस्टेंस डेटा तक पहुंचने के लिए, दो दृष्टिकोण उपलब्ध हैं:

  1. हार्डकोडिंग: इंस्टेंस डेटा वाले कोड स्ट्रिंग की अपेक्षा करने के लिए सुपर कॉल को बाध्य करें।
class Smth extends Function {
  constructor(x) {
    super("return "   JSON.stringify(x)   ";");
  }
}
  1. क्लोजर का उपयोग करना: एक क्लोजर फ़ंक्शन लौटाएं जो इंस्टेंस वेरिएबल्स तक पहुंचता है।
class Smth extends Function {
  constructor(x) {
    function smth() { return x; };
    Object.setPrototypeOf(smth, Smth.prototype);
    return smth;
  }
}

इस वर्ग का उपयोग विशिष्ट वर्गों का विस्तार करने के लिए किया जा सकता है:वर्ग स्मथ एक्स्टेंसिबलफंक्शन का विस्तार करता है { कंस्ट्रक्टर(x) { सुपर(() => {वापसी x; }); // समापन } }

संक्षेप में, ईएस6 कक्षाओं के साथ फ़ंक्शन का विस्तार कॉल लॉजिक को अनुकूलित करते समय फ़ंक्शन के व्यवहार को इनहेरिट करने की अनुमति देता है। विस्तारित फ़ंक्शन को कॉल करते समय इंस्टेंस डेटा तक पहुंच प्रदान करने के लिए विभिन्न तरीकों का उपयोग किया जा सकता है।

विज्ञप्ति वक्तव्य यह लेख यहां पुनर्मुद्रित है: 1729462035 यदि कोई उल्लंघन है, तो कृपया इसे हटाने के लिए स्टडी_गोलंग@163.कॉम से संपर्क करें।
नवीनतम ट्यूटोरियल अधिक>

चीनी भाषा का अध्ययन करें

अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।

Copyright© 2022 湘ICP备2022001581号-3