JavaScript Academy · पाठ

मॉड्यूल पैटर्न (IIFE)

तुरंत कॉल किए गए फ़ंक्शन से कोड को समाहित कीजिए।

पाठ 3, कुल 4 में से13 चरण

मॉड्यूल पैटर्न (IIFE), CoddyKit पर JavaScript Academy का एक निःशुल्क पाठ है। यह 4 में से 3वाँ पाठ है। इस अध्ययन पथ के 3 तक कोई भी पाठ पूरा पढ़ना निःशुल्क है — इसके बाद CoddyKit PRO हर पाठ अनलॉक करता है, साथ ही अंतर्निर्मित कोड संपादक और चौबीसों घंटे एआई शिक्षक के साथ व्यावहारिक अभ्यास भी उपलब्ध कराता है। यह JavaScript Academy सीखने के मार्ग का हिस्सा है और आपकी प्रगति वेब तथा CoddyKit ऐप पर सिंक होती रहती है। JavaScript Academy पाठ्यक्रम में कुल 4 पाठ शामिल हैं।

मॉड्यूल पैटर्न किस समस्या का समाधान करता है

ES मॉड्यूल से पहले, मॉड्यूल पैटर्न संबंधित स्थिति और व्यवहार को एक साथ रखने देता था, जबकि आंतरिक हिस्से निजी रहते थे और एक साफ़ सार्वजनिक प्रोग्रामिंग इंटरफ़ेस उपलब्ध होता था। यह क्लोज़र पर आधारित है।

IIFE

IIFE (तुरंत चलने वाला फ़ंक्शन व्यंजक) ऐसा फ़ंक्शन है जो परिभाषित होते ही चल जाता है। उसे कोष्ठकों में लपेटकर कॉल करने से तुरंत एक निजी दायरा बन जाता है।

const result = (function () {
  return 42;
})();
console.log(result); // 42

इसे तुरंत क्यों चलाएँ

IIFE आपको किसी नामित फ़ंक्शन को अलग से बनाए रखे बिना एक बार उपयोग होने वाला निजी दायरा देता है। इसके अंदर की हर चीज़ वैश्विक नाम-स्थान से अलग रहती है।

(function () {
  const temp = "not global";
  console.log(temp);
})();
// temp is unreachable out here

सार्वजनिक प्रोग्रामिंग इंटरफ़ेस लौटाना

मॉड्यूल पैटर्न ऐसा IIFE है जो एक ऑब्जेक्ट लौटाता है। ऑब्जेक्ट की विधियाँ निजी चरों पर बने क्लोज़र होती हैं और सार्वजनिक प्रोग्रामिंग इंटरफ़ेस बनाती हैं।

const counter = (function () {
  let count = 0; // private
  return {
    inc: () => ++count,
    value: () => count
  };
})();
counter.inc();
console.log(counter.value()); // 1

निजी बनाम सार्वजनिक

अंदर घोषित की गई लेकिन लौटाई नहीं गई हर चीज़ निजी रहती है। लौटाए गए ऑब्जेक्ट में जिसे आप रखते हैं, केवल उसी तक पहुँचा जा सकता है।

const calc = (function () {
  const pi = 3.14159; // private constant
  return {
    area: (r) => pi * r * r
  };
})();
console.log(calc.area(2)); // 12.56636
console.log(calc.pi);      // undefined

निजी सहायक फ़ंक्शन

सहायक फ़ंक्शन मॉड्यूल के अंदर रह सकते हैं और सार्वजनिक विधियों द्वारा उपयोग किए जा सकते हैं, लेकिन कभी बाहर उपलब्ध नहीं कराए जाते।

const validator = (function () {
  const clean = (s) => s.trim().toLowerCase(); // private
  return {
    isEmail: (s) => clean(s).includes("@")
  };
})();
console.log(validator.isEmail(" A@B.com ")); // true

प्रकटकारी मॉड्यूल पैटर्न

एक लोकप्रिय रूपांतर सभी फ़ंक्शन को निजी रूप से परिभाषित करता है, फिर एक ऐसा ऑब्जेक्ट लौटाता है जो सार्वजनिक फ़ंक्शन के संदर्भों को “प्रकट” करता है। इससे नीचे सार्वजनिक प्रोग्रामिंग इंटरफ़ेस की सूची साफ़ दिखाई देती है।

const store = (function () {
  let items = [];
  function add(x) { items.push(x); }
  function count() { return items.length; }
  return { add, count }; // reveal
})();
store.add("a");
console.log(store.count()); // 1

सिंगलटन

क्योंकि IIFE केवल एक बार चलता है, इसलिए मॉड्यूल प्रभावी रूप से एक सिंगलटन होता है: निजी स्थिति के एक ही समूह वाला ठीक एक इंस्टेंस।

const config = (function () {
  let settings = { theme: "dark" };
  return {
    get: (k) => settings[k],
    set: (k, v) => { settings[k] = v; }
  };
})();
config.set("theme", "light");
console.log(config.get("theme")); // "light"

निर्भरताएँ पास करना

आप वैश्विक मानों या अन्य मॉड्यूल को IIFE के आर्ग्युमेंट के रूप में पास कर सकते हैं। इससे निर्भरताएँ स्पष्ट होती हैं और सुरक्षित लघुकरण संभव होता है।

const mathUtils = (function (M) {
  return { roundUp: (n) => M.ceil(n) };
})(Math);
console.log(mathUtils.roundUp(4.1)); // 5

वैश्विक प्रदूषण से बचना

मुख्य उद्देश्य दर्जनों बिखरे हुए चरों के बजाय एक वैश्विक नाम—मॉड्यूल—रखना है। इससे अलग-अलग स्क्रिप्ट के बीच नामों का टकराव रुकता है।

ES मॉड्यूल से संबंध

आज import/export भाषा के स्तर पर वास्तविक मॉड्यूल दायरा देते हैं और बड़े पैमाने पर इस पैटर्न का स्थान ले चुके हैं। फिर भी IIFE मॉड्यूल को समझने से निजता और समावेशन कैसे काम करते हैं, यह स्पष्ट होता है; पुराने कोड में इनसे आपका सामना अब भी होगा।

त्वरित जाँच

मॉड्यूल पैटर्न और IIFE।

पुनरावृत्ति

मॉड्यूल पैटर्न IIFE का उपयोग करके एक निजी दायरा बनाता है और ऐसा ऑब्जेक्ट लौटाता है जिसकी विधियाँ छिपी हुई स्थिति पर बने क्लोज़र होती हैं। आंतरिक हिस्से निजी रहते हैं; केवल लौटाए गए सदस्य सार्वजनिक होते हैं। प्रकटकारी मॉड्यूल पैटर्न जैसे रूपांतर प्रोग्रामिंग इंटरफ़ेस को स्पष्ट करते हैं और मॉड्यूल सिंगलटन की तरह काम करते हैं। ES के import/export ने अब इस पैटर्न का स्थान ले लिया है, लेकिन वे उन्हीं विचारों पर आधारित हैं।

शुरुआत निःशुल्क

एआई शिक्षक के साथ JavaScript सीखें — निःशुल्क

अपने ब्राउज़र में वास्तविक कोड लिखें और चलाएँ, चौबीसों घंटे एआई शिक्षक से तुरंत सहायता पाएँ, और वेब या ऐप पर वहीं से शुरू करें जहाँ आपने छोड़ा था।

पाठ्यक्रम
59
पाठ
200

अक्सर पूछे जाने वाले प्रश्न

क्या “मॉड्यूल पैटर्न (IIFE)” पाठ निःशुल्क है?

हाँ — JavaScript Academy अध्ययन पथ के 3 तक कोई भी पाठ, जिसमें “मॉड्यूल पैटर्न (IIFE)” भी शामिल है, यहाँ वेब पर पूरा पढ़ना निःशुल्क है। इसके बाद CoddyKit PRO हर पाठ अनलॉक करता है, साथ ही अंतर्निर्मित कोड संपादक और चौबीसों घंटे एआई शिक्षक के साथ इंटरैक्टिव अभ्यास भी उपलब्ध कराता है। JavaScript Academy पाठ्यक्रम में कुल 4 पाठ शामिल हैं।

“मॉड्यूल पैटर्न (IIFE)” में मैं क्या सीखूँगा?

तुरंत कॉल किए गए फ़ंक्शन से कोड को समाहित कीजिए। आप ब्राउज़र में सीधे चलाए जाने वाले व्यावहारिक कोड के साथ JavaScript Academy का अभ्यास करते हैं, और पाठ पूरा करते समय 24/7 एआई ट्यूटर आपके प्रश्नों के उत्तर देता है।

क्या JavaScript Academy शुरू करने के लिए मुझे किसी अनुभव की आवश्यकता है?

पहले के अनुभव की आवश्यकता नहीं है। CoddyKit पर JavaScript Academy शुरुआती से लेकर उन्नत शिक्षार्थियों तक सभी के लिए व्यवस्थित किया गया है, इसलिए आप यहीं से या शुरुआत से सीखना शुरू कर सकते हैं और अपनी गति से आगे बढ़ सकते हैं। यह 4 में से 3वाँ पाठ है।

“मॉड्यूल पैटर्न (IIFE)” पाठ पूरा करने में कितना समय लगता है?

CoddyKit का अधिकांश पाठ लगभग 5–10 मिनट में पूरा हो जाता है। हर पाठ छोटा और संवादात्मक है, इसलिए आप लगातार प्रगति करते हैं और वेब या ऐप पर वहीं से सीखना जारी रख सकते हैं जहाँ आपने छोड़ा था।

क्या मैं इस JavaScript Academy पाठ में कोड लिख और चला सकता हूँ?

हाँ। हर JavaScript Academy पाठ में एक अंतर्निर्मित कोड संपादक शामिल है, जिससे आप सीधे अपने ब्राउज़र में वास्तविक कोड लिख और चला सकते हैं और तुरंत एआई प्रतिक्रिया पा सकते हैं—स्थानीय सेटअप की आवश्यकता नहीं है।

इस पाठ्यक्रम के सभी पाठ

  1. क्लोज़र स्थिति को कैसे कैप्चर करते हैं
  2. क्लोज़र से निजी वेरिएबल
  3. मॉड्यूल पैटर्न (IIFE)
  4. फ़ैक्टरी फ़ंक्शन
← JavaScript Academy पर वापस जाएँ