NoteTube

Higher-Order Functions ft. Functional Programming | Namaste JavaScript Ep. 18
24:03

Higher-Order Functions ft. Functional Programming | Namaste JavaScript Ep. 18

Akshay Saini

5 chapters6 takeaways8 key terms5 questions

Overview

यह वीडियो जावास्क्रिप्ट में हायर-ऑर्डर फंक्शन्स (Higher-Order Functions) की अवधारणा को समझाता है, जो फंक्शनल प्रोग्रामिंग का एक महत्वपूर्ण हिस्सा है। यह बताता है कि हायर-ऑर्डर फंक्शन क्या होते हैं, वे कैसे काम करते हैं, और कोड को अधिक मॉड्यूलर और पुन: प्रयोज्य (reusable) बनाने के लिए उनका उपयोग कैसे किया जा सकता है। वीडियो इंटरव्यू में सामान्य गलतियों को उजागर करता है और फंक्शनल प्रोग्रामिंग के सिद्धांतों का उपयोग करके बेहतर कोड लिखने का तरीका दिखाता है, जैसे कि DRY (Don't Repeat Yourself) सिद्धांत का पालन करना और कोड को छोटे, जिम्मेदार फंक्शन्स में तोड़ना। यह `map` जैसे अंतर्निहित हायर-ऑर्डर फंक्शन्स के साथ तुलना भी करता है।

How was this?

Save this permanently with flashcards, quizzes, and AI chat

Chapters

  • हायर-ऑर्डर फंक्शन वह फंक्शन होता है जो दूसरे फंक्शन को आर्गुमेंट के रूप में लेता है या एक फंक्शन को रिटर्न करता है।
  • जावास्क्रिप्ट में फंक्शन्स फर्स्ट-क्लास सिटिजन होते हैं, जिसका अर्थ है कि उन्हें वेरिएबल्स की तरह माना जा सकता है, आर्गुमेंट के रूप में पास किया जा सकता है, और अन्य फंक्शन्स से रिटर्न किया जा सकता है।
  • यह क्षमता फंक्शनल प्रोग्रामिंग के लिए आधार प्रदान करती है।
यह समझना महत्वपूर्ण है क्योंकि यह कोड को अधिक लचीला और पुन: प्रयोज्य बनाने की नींव रखता है, जो आधुनिक सॉफ्टवेयर डेवलपमेंट के लिए आवश्यक है।
एक फंक्शन `doSomething` जो दूसरे फंक्शन `callback` को आर्गुमेंट के रूप में लेता है और उसे एक्सेक्यूट करता है।
  • जब विभिन्न गणनाओं (जैसे एरिया, सरकमफ्रेंस, डायमीटर) के लिए समान लूपिंग और आउटपुट लॉजिक वाले अलग-अलग फंक्शन्स लिखे जाते हैं, तो कोड दोहराया जाता है।
  • DRY (Don't Repeat Yourself) सिद्धांत के अनुसार, कोड दोहराव से बचना चाहिए।
  • बार-बार कॉपी-पेस्ट करने से कोड को बनाए रखना और अपडेट करना मुश्किल हो जाता है।
कोड दोहराव से बचने से कोड अधिक सुसंगत, कम त्रुटि-प्रवण और अपडेट करने में आसान बनता है, जो इंटरव्यू में एक कुशल डेवलपर के रूप में आपकी क्षमता को दर्शाता है।
एरिया, सरकमफ्रेंस और डायमीटर की गणना के लिए तीन अलग-अलग फंक्शन्स लिखना, जिनमें से प्रत्येक में रेडिआई की एक ऐरे पर लूप करने और परिणाम को आउटपुट ऐरे में जोड़ने का समान लॉजिक होता है।
  • कोड दोहराव को दूर करने के लिए, हम एक जनरेटर फंक्शन बना सकते हैं जो गणना के लॉजिक को आर्गुमेंट के रूप में स्वीकार करता है।
  • यह जनरेटर फंक्शन फिर इनपुट ऐरे के प्रत्येक एलिमेंट पर उस लॉजिक को लागू करता है और परिणाम लौटाता है।
  • यह दृष्टिकोण कोड को छोटे, पुन: प्रयोज्य (reusable) घटकों में तोड़ता है।
यह विधि कोड को मॉड्यूलर बनाती है, जिससे विभिन्न गणनाओं के लिए समान आधार संरचना का पुन: उपयोग करना आसान हो जाता है, जिससे विकास प्रक्रिया तेज होती है।
एक `calculate` फंक्शन बनाना जो रेडिआई की एक ऐरे और एक `logic` फंक्शन (जैसे एरिया या सरकमफ्रेंस की गणना करने वाला) लेता है, और फिर प्रत्येक रेडियस पर `logic` फंक्शन लागू करता है।
  • वीडियो में बनाया गया `calculate` फंक्शन जावास्क्रिप्ट के अंतर्निहित `map` फंक्शन के समान ही काम करता है।
  • `map` एक हायर-ऑर्डर फंक्शन है जो एक ऐरे के प्रत्येक एलिमेंट पर एक प्रदान किए गए फंक्शन को लागू करता है और एक नई ऐरे लौटाता है।
  • यह दिखाता है कि कैसे कस्टम हायर-ऑर्डर फंक्शन्स को अंतर्निहित फंक्शन्स के समान पैटर्न का पालन करके बनाया जा सकता है।
यह तुलना आपको यह समझने में मदद करती है कि अंतर्निहित फंक्शन्स पर्दे के पीछे कैसे काम करते हैं और आपको अपने स्वयं के हायर-ऑर्डर फंक्शन्स को डिजाइन करने के लिए प्रेरित करता है।
एक ऐरे पर `map` का उपयोग करके प्रत्येक रेडियस के लिए एरिया की गणना करना, जो हमारे द्वारा बनाए गए कस्टम `calculate` फंक्शन के समान परिणाम देता है।
  • फंक्शनल प्रोग्रामिंग कोड को मॉड्यूलर, पुन: प्रयोज्य और समझने में आसान बनाती है।
  • इंटरव्यू में, कोड को छोटे, एकल-जिम्मेदारी वाले फंक्शन्स में तोड़ना महत्वपूर्ण है।
  • यह दृष्टिकोण न केवल कोड की गुणवत्ता में सुधार करता है बल्कि समस्या-समाधान के प्रति आपकी सोच को भी प्रदर्शित करता है।
इन सिद्धांतों को लागू करने से आप इंटरव्यू में बेहतर प्रदर्शन कर पाएंगे और अधिक कुशल और रखरखाव योग्य (maintainable) कोड लिख पाएंगे।
किसी समस्या को हल करने के लिए कोड को छोटे फंक्शन्स में विभाजित करना, जैसे कि एक फंक्शन जो डेटा को फ़िल्टर करता है, दूसरा जो उसे मैप करता है, और तीसरा जो उसे कम करता है।

Key takeaways

  1. 1हायर-ऑर्डर फंक्शन कोड को अधिक डायनामिक और पुन: प्रयोज्य बनाने के लिए आवश्यक हैं।
  2. 2DRY सिद्धांत का पालन करना कोड की गुणवत्ता और रखरखाव के लिए महत्वपूर्ण है।
  3. 3कोड को छोटे, विशिष्ट फंक्शन्स में तोड़ना फंक्शनल प्रोग्रामिंग का एक मुख्य सिद्धांत है।
  4. 4जावास्क्रिप्ट के `map` जैसे अंतर्निहित हायर-ऑर्डर फंक्शन्स को समझना कोड को अनुकूलित करने में मदद करता है।
  5. 5इंटरव्यू में, मॉड्यूलर और फंक्शनल तरीके से कोड लिखने पर ध्यान केंद्रित करें।
  6. 6फंक्शनल प्रोग्रामिंग कोड को अधिक पठनीय (readable) और परीक्षण योग्य (testable) बनाती है।

Key terms

Higher-Order FunctionFunctional ProgrammingCallback FunctionDRY PrincipleModularityReusabilityMap FunctionFirst-Class Citizens

Test your understanding

  1. 1हायर-ऑर्डर फंक्शन क्या है और जावास्क्रिप्ट में यह क्यों संभव है?
  2. 2कोड दोहराव की समस्या को हल करने के लिए फंक्शनल प्रोग्रामिंग कैसे मदद करती है?
  3. 3एक उदाहरण दें कि कैसे एक जनरेटर फंक्शन कोड को अधिक मॉड्यूलर बना सकता है।
  4. 4जावास्क्रिप्ट में `map` फंक्शन और वीडियो में बनाए गए कस्टम `calculate` फंक्शन के बीच क्या समानताएं और अंतर हैं?
  5. 5कोडिंग इंटरव्यू में फंक्शनल प्रोग्रामिंग सिद्धांतों को लागू करने के क्या फायदे हैं?

Turn any lecture into study material

Paste a YouTube URL, PDF, or article. Get flashcards, quizzes, summaries, and AI chat — in seconds.

No credit card required