
Higher-Order Functions ft. Functional Programming | Namaste JavaScript Ep. 18
Akshay Saini
Overview
यह वीडियो जावास्क्रिप्ट में हायर-ऑर्डर फंक्शन्स (Higher-Order Functions) की अवधारणा को समझाता है, जो फंक्शनल प्रोग्रामिंग का एक महत्वपूर्ण हिस्सा है। यह बताता है कि हायर-ऑर्डर फंक्शन क्या होते हैं, वे कैसे काम करते हैं, और कोड को अधिक मॉड्यूलर और पुन: प्रयोज्य (reusable) बनाने के लिए उनका उपयोग कैसे किया जा सकता है। वीडियो इंटरव्यू में सामान्य गलतियों को उजागर करता है और फंक्शनल प्रोग्रामिंग के सिद्धांतों का उपयोग करके बेहतर कोड लिखने का तरीका दिखाता है, जैसे कि DRY (Don't Repeat Yourself) सिद्धांत का पालन करना और कोड को छोटे, जिम्मेदार फंक्शन्स में तोड़ना। यह `map` जैसे अंतर्निहित हायर-ऑर्डर फंक्शन्स के साथ तुलना भी करता है।
Save this permanently with flashcards, quizzes, and AI chat
Chapters
- हायर-ऑर्डर फंक्शन वह फंक्शन होता है जो दूसरे फंक्शन को आर्गुमेंट के रूप में लेता है या एक फंक्शन को रिटर्न करता है।
- जावास्क्रिप्ट में फंक्शन्स फर्स्ट-क्लास सिटिजन होते हैं, जिसका अर्थ है कि उन्हें वेरिएबल्स की तरह माना जा सकता है, आर्गुमेंट के रूप में पास किया जा सकता है, और अन्य फंक्शन्स से रिटर्न किया जा सकता है।
- यह क्षमता फंक्शनल प्रोग्रामिंग के लिए आधार प्रदान करती है।
- जब विभिन्न गणनाओं (जैसे एरिया, सरकमफ्रेंस, डायमीटर) के लिए समान लूपिंग और आउटपुट लॉजिक वाले अलग-अलग फंक्शन्स लिखे जाते हैं, तो कोड दोहराया जाता है।
- DRY (Don't Repeat Yourself) सिद्धांत के अनुसार, कोड दोहराव से बचना चाहिए।
- बार-बार कॉपी-पेस्ट करने से कोड को बनाए रखना और अपडेट करना मुश्किल हो जाता है।
- कोड दोहराव को दूर करने के लिए, हम एक जनरेटर फंक्शन बना सकते हैं जो गणना के लॉजिक को आर्गुमेंट के रूप में स्वीकार करता है।
- यह जनरेटर फंक्शन फिर इनपुट ऐरे के प्रत्येक एलिमेंट पर उस लॉजिक को लागू करता है और परिणाम लौटाता है।
- यह दृष्टिकोण कोड को छोटे, पुन: प्रयोज्य (reusable) घटकों में तोड़ता है।
- वीडियो में बनाया गया `calculate` फंक्शन जावास्क्रिप्ट के अंतर्निहित `map` फंक्शन के समान ही काम करता है।
- `map` एक हायर-ऑर्डर फंक्शन है जो एक ऐरे के प्रत्येक एलिमेंट पर एक प्रदान किए गए फंक्शन को लागू करता है और एक नई ऐरे लौटाता है।
- यह दिखाता है कि कैसे कस्टम हायर-ऑर्डर फंक्शन्स को अंतर्निहित फंक्शन्स के समान पैटर्न का पालन करके बनाया जा सकता है।
- फंक्शनल प्रोग्रामिंग कोड को मॉड्यूलर, पुन: प्रयोज्य और समझने में आसान बनाती है।
- इंटरव्यू में, कोड को छोटे, एकल-जिम्मेदारी वाले फंक्शन्स में तोड़ना महत्वपूर्ण है।
- यह दृष्टिकोण न केवल कोड की गुणवत्ता में सुधार करता है बल्कि समस्या-समाधान के प्रति आपकी सोच को भी प्रदर्शित करता है।
Key takeaways
- हायर-ऑर्डर फंक्शन कोड को अधिक डायनामिक और पुन: प्रयोज्य बनाने के लिए आवश्यक हैं।
- DRY सिद्धांत का पालन करना कोड की गुणवत्ता और रखरखाव के लिए महत्वपूर्ण है।
- कोड को छोटे, विशिष्ट फंक्शन्स में तोड़ना फंक्शनल प्रोग्रामिंग का एक मुख्य सिद्धांत है।
- जावास्क्रिप्ट के `map` जैसे अंतर्निहित हायर-ऑर्डर फंक्शन्स को समझना कोड को अनुकूलित करने में मदद करता है।
- इंटरव्यू में, मॉड्यूलर और फंक्शनल तरीके से कोड लिखने पर ध्यान केंद्रित करें।
- फंक्शनल प्रोग्रामिंग कोड को अधिक पठनीय (readable) और परीक्षण योग्य (testable) बनाती है।
Key terms
Test your understanding
- हायर-ऑर्डर फंक्शन क्या है और जावास्क्रिप्ट में यह क्यों संभव है?
- कोड दोहराव की समस्या को हल करने के लिए फंक्शनल प्रोग्रामिंग कैसे मदद करती है?
- एक उदाहरण दें कि कैसे एक जनरेटर फंक्शन कोड को अधिक मॉड्यूलर बना सकता है।
- जावास्क्रिप्ट में `map` फंक्शन और वीडियो में बनाए गए कस्टम `calculate` फंक्शन के बीच क्या समानताएं और अंतर हैं?
- कोडिंग इंटरव्यू में फंक्शनल प्रोग्रामिंग सिद्धांतों को लागू करने के क्या फायदे हैं?