Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> JavaScript

JavaScript में अनाम फ़ंक्शन्स का उपयोग करके एनकैप्सुलेशन


ऑब्जेक्ट-ओरिएंटेड प्रोग्रामिंग भाषाएं प्राइवेट फ़ील्ड्स का उपयोग करके डेटा हाइडिंग की अनुमति देती हैं। वे क्लासेस के इंटर्नल्स को छिपाने के लिए इनका उपयोग करती हैं। JS में इंटर्नल वर्किंग्स को छिपाने/एनकैप्सुलेट करने के लिए ऐसा कोई बिल्ट-इन सपोर्ट नहीं है।

हमारे पास अनाम फ़ंक्शन्स हैं जो JS में आपको एनकैप्सुलेशन दे सकते हैं। आइए एक उदाहरण देखें:

उदाहरण

const HIDDEN_CONST = 100; function fnWeWantToHide(x, y) { return (x + y) * HIDDEN_CONST } console.log(fnWeWantToHide(1, 2))

यदि हम उपरोक्त कोड को खुले में लिखते हैं तो यह कोड इन नामों से ग्लोबल नेमस्पेस को प्रदूषित करेगा। इसके बजाय हम इसे IIFE (इमीडिएटली इनवोक्ड फंक्शनल एक्सप्रेशन्स) में लपेट सकते हैं। उदाहरण के लिए:

उदाहरण

(() => { const HIDDEN_CONST = 100; function fnWeWantToHide(x, y) { return (x + y) * HIDDEN_CONST } console.log(fnWeWantToHide(1, 2)) })()

अब, ये वेरिएबल्स फंक्शनल एक्सप्रेशन के भीतर छिपे हुए हैं। लेकिन फ़ंक्शन और कॉन्स्ट अब ग्लोबल नेमस्पेस को प्रदूषित नहीं कर रहे हैं।

  1. JavaScript में अनाम फंक्शन्स (Anonymous Functions) को आर्गुमेंट्स कैसे पास करें? JavaScript में अनाम फंक्शन्स (Anonymous Functions) को आर्गुमेंट्स कैसे पास करें?

    JavaScript में अनाम फंक्शन्स को आर्गुमेंट्स पास करने का निम्नलिखिक कोड है:उदाहरण<!DOCTYPE html> <html lang="hi"> <head> <meta charset="UTF-8" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" /> <title>

  1. JavaScript इम्पोर्ट्स में  { }  का उपयोग JavaScript इम्पोर्ट्स में '{ }' का उपयोग

    JavaScript इम्पोर्ट्स में {} का उपयोग करने का निम्नलिखिक कोड है:उदाहरण<!DOCTYPE html> <html lang="hi"> <head> <meta charset="UTF-8" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" /> <title>Import wi

  1. जावास्क्रिप्ट में अनाम रैपर फ़ंक्शन्स जावास्क्रिप्ट में अनाम रैपर फ़ंक्शन्स

    अनाम फ़ंक्शन्स का उपयोग कोड स्निपेट्स, जावास्क्रिप्ट लाइब्रेरीज़, फ़ंक्शन्स आदि को रैप करने के लिए किया जाता है ताकि उनकी विजिबिलिटी और नेमस्पेस को कंट्रोल किया जा सके ताकि अन्य लाइब्रेरी कोड के साथ कोई टकराव न हो। IIFE (Immediately Invoked Function Expressions) इस उद्देश्य के लिए उपयोग किए जाते है