फ़ंक्शन संयोजन
छोटे फ़ंक्शन को पाइपलाइन में संयोजित कीजिए।
फ़ंक्शन संयोजन, CoddyKit पर JavaScript Academy का एक निःशुल्क पाठ है। यह 4 में से 3वाँ पाठ है। इस अध्ययन पथ के 3 तक कोई भी पाठ पूरा पढ़ना निःशुल्क है — इसके बाद CoddyKit PRO हर पाठ अनलॉक करता है, साथ ही अंतर्निर्मित कोड संपादक और चौबीसों घंटे एआई शिक्षक के साथ व्यावहारिक अभ्यास भी उपलब्ध कराता है। यह JavaScript Academy सीखने के मार्ग का हिस्सा है और आपकी प्रगति वेब तथा CoddyKit ऐप पर सिंक होती रहती है। JavaScript Academy पाठ्यक्रम में कुल 4 पाठ शामिल हैं।
फ़ंक्शन संयोजन क्या है
फ़ंक्शन संयोजन छोटे फ़ंक्शन को मिलाकर एक फ़ंक्शन बनाता है। f और g का संयोजन ऐसा फ़ंक्शन बनाता है जिसमें g का परिणाम f का इनपुट बन जाता है।
गणितीय रूप से: compose(f, g)(x) = f(g(x))। डेटा दाएँ से बाएँ प्रवाहित होता है।
दो छोटे फ़ंक्शन
संयोजन की शुरुआत सरल, एकल-उद्देश्य वाले फ़ंक्शन से होती है। यहाँ दो रूपांतरण दिए गए हैं जिन्हें हम मिलाएँगे।
const double = x => x * 2;
const increment = x => x + 1;
console.log(double(5));
console.log(increment(5));हाथ से संयोजन करना
सबसे स्पष्ट संयोजन बस एक फ़ंक्शन को दूसरे के परिणाम पर कॉल करना है। इसे अंदर से बाहर की ओर पढ़िए: increment पहले चलता है, फिर double।
const double = x => x * 2;
const increment = x => x + 1;
const result = double(increment(5));
console.log(result);दो फ़ंक्शन के लिए compose फ़ंक्शन
इस पैटर्न को पुनः उपयोग योग्य compose में लपेटिए। यह f और g लेता है और एक नया फ़ंक्शन लौटाता है, जो पहले g और फिर f लागू करता है।
const compose = (f, g) => x => f(g(x));
const double = x => x * 2;
const increment = x => x + 1;
const doubleThenAfterIncrement = compose(double, increment);
console.log(doubleThenAfterIncrement(5));क्रम महत्वपूर्ण है
संयोजन क्रमविनिमेय नहीं होता। compose(f, g), compose(g, f) से अलग होता है, क्योंकि दायाँ फ़ंक्शन पहले चलता है।
const compose = (f, g) => x => f(g(x));
const double = x => x * 2;
const increment = x => x + 1;
console.log(compose(double, increment)(5));
console.log(compose(increment, double)(5));दाएँ से बाएँ पढ़ना
compose(a, b, c)(x) में कॉल का मूल्यांकन a(b(c(x))) के रूप में होता है। सबसे दायाँ फ़ंक्शन पहले इनपुट पर काम करता है। त्रुटियों से बचने के लिए इस दिशा को ध्यान में रखिए।
const compose = (f, g) => x => f(g(x));
const shout = s => s.toUpperCase();
const exclaim = s => s + '!';
const loud = compose(shout, exclaim);
console.log(loud('hello'));स्ट्रिंग रूपांतरणों का संयोजन
संयोजन टेक्स्ट पाइपलाइन के लिए बहुत उपयोगी है: trim, lowercase और फिर रिक्त स्थानों को replace करना—हर चरण एक छोटा फ़ंक्शन है।
const compose = (f, g) => x => f(g(x));
const trim = s => s.trim();
const lower = s => s.toLowerCase();
const clean = compose(lower, trim);
console.log(clean(' HELLO World '));संख्याओं के साथ संयोजन
गणितीय संक्रियाओं को शृंखला में जोड़ना एक पारंपरिक उदाहरण है। हर फ़ंक्शन का अलग-अलग परीक्षण करना आसान रहता है।
const compose = (f, g) => x => f(g(x));
const square = x => x * x;
const negate = x => -x;
const negativeSquare = compose(negate, square);
console.log(negativeSquare(4));compose क्यों करें
संयोजन हर फ़ंक्शन को केंद्रित और पुनः उपयोग योग्य रखता है तथा नेस्टेड-कॉल की अव्यवस्था हटाता है। अपने कोड में f(g(h(x))) को बार-बार फैलाने के बजाय, आप एक नामित पाइपलाइन बनाकर उसका पुनः उपयोग करते हैं।
const compose = (f, g) => x => f(g(x));
const toCents = d => Math.round(d * 100);
const addLabel = c => c + ' cents';
const priceLabel = compose(addLabel, toCents);
console.log(priceLabel(2.5));संयोजन और करीकरण साथ-साथ
करीकृत फ़ंक्शन सुंदर ढंग से संयोजित होते हैं, क्योंकि हर फ़ंक्शन एक-तर्क वाला फ़ंक्शन देता है—ठीक वही जिसकी संयोजन को आवश्यकता होती है।
const compose = (f, g) => x => f(g(x));
const add = a => b => a + b;
const multiply = a => b => a * b;
const addThenDouble = compose(multiply(2), add(3));
console.log(addThenDouble(5));अनेक फ़ंक्शन की ओर
अब तक compose दो फ़ंक्शन संभालता था। वास्तविक संयोजन किसी भी संख्या में फ़ंक्शन का समर्थन करता है। अगले पाठ में आप reduce का उपयोग करके सामान्य compose और उसका बाएँ-से-दाएँ वाला साथी pipe बनाएँगे।
const compose = (f, g) => x => f(g(x));
const a = x => x + 1;
const b = x => x * 2;
const c = x => x - 3;
const combined = compose(a, compose(b, c));
console.log(combined(10));त्वरित जाँच
यदि compose = (f, g) => x => f(g(x)), तो जब double से 2 से गुणा और increment से 1 जोड़ना होता है, compose(double, increment)(5) क्या लौटाता है?
पुनरावलोकन: फ़ंक्शन संयोजन
आपने फ़ंक्शन को मिलाना सीखा:
compose(f, g)(x),f(g(x))के बराबर होता है और इसका मूल्यांकन दाएँ से बाएँ होता है।- क्रम महत्वपूर्ण है: संयोजन क्रमविनिमेय नहीं होता।
- संयोजन फ़ंक्शन को छोटे, नामित और पुनः उपयोग योग्य रखता है।
- करीकृत फ़ंक्शन सुव्यवस्थित रूप से संयोजित होते हैं। अब आप इसे किसी भी संख्या में फ़ंक्शन के लिए सामान्य बनाएँगे।
एआई शिक्षक के साथ JavaScript सीखें — निःशुल्क
अपने ब्राउज़र में वास्तविक कोड लिखें और चलाएँ, चौबीसों घंटे एआई शिक्षक से तुरंत सहायता पाएँ, और वेब या ऐप पर वहीं से शुरू करें जहाँ आपने छोड़ा था।
- पाठ्यक्रम
- 59
- पाठ
- 200
अक्सर पूछे जाने वाले प्रश्न
क्या “फ़ंक्शन संयोजन” पाठ निःशुल्क है?
हाँ — JavaScript Academy अध्ययन पथ के 3 तक कोई भी पाठ, जिसमें “फ़ंक्शन संयोजन” भी शामिल है, यहाँ वेब पर पूरा पढ़ना निःशुल्क है। इसके बाद CoddyKit PRO हर पाठ अनलॉक करता है, साथ ही अंतर्निर्मित कोड संपादक और चौबीसों घंटे एआई शिक्षक के साथ इंटरैक्टिव अभ्यास भी उपलब्ध कराता है। JavaScript Academy पाठ्यक्रम में कुल 4 पाठ शामिल हैं।
“फ़ंक्शन संयोजन” में मैं क्या सीखूँगा?
छोटे फ़ंक्शन को पाइपलाइन में संयोजित कीजिए। आप ब्राउज़र में सीधे चलाए जाने वाले व्यावहारिक कोड के साथ JavaScript Academy का अभ्यास करते हैं, और पाठ पूरा करते समय 24/7 एआई ट्यूटर आपके प्रश्नों के उत्तर देता है।
क्या JavaScript Academy शुरू करने के लिए मुझे किसी अनुभव की आवश्यकता है?
पहले के अनुभव की आवश्यकता नहीं है। CoddyKit पर JavaScript Academy शुरुआती से लेकर उन्नत शिक्षार्थियों तक सभी के लिए व्यवस्थित किया गया है, इसलिए आप यहीं से या शुरुआत से सीखना शुरू कर सकते हैं और अपनी गति से आगे बढ़ सकते हैं। यह 4 में से 3वाँ पाठ है।
“फ़ंक्शन संयोजन” पाठ पूरा करने में कितना समय लगता है?
CoddyKit का अधिकांश पाठ लगभग 5–10 मिनट में पूरा हो जाता है। हर पाठ छोटा और संवादात्मक है, इसलिए आप लगातार प्रगति करते हैं और वेब या ऐप पर वहीं से सीखना जारी रख सकते हैं जहाँ आपने छोड़ा था।
क्या मैं इस JavaScript Academy पाठ में कोड लिख और चला सकता हूँ?
हाँ। हर JavaScript Academy पाठ में एक अंतर्निर्मित कोड संपादक शामिल है, जिससे आप सीधे अपने ब्राउज़र में वास्तविक कोड लिख और चला सकते हैं और तुरंत एआई प्रतिक्रिया पा सकते हैं—स्थानीय सेटअप की आवश्यकता नहीं है।
इस पाठ्यक्रम के सभी पाठ
- आंशिक अनुप्रयोग
- करीइंग फ़ंक्शन
- फ़ंक्शन संयोजन
- pipe और compose बनाना