पॉलीफ़िल्स… पॉलीफ़िल्स… पॉलीफ़िल्स…(भाग 1)

May 08 2022
साक्षात्कार के अपने नवीनतम दौर के दौरान मुझे कई मौकों पर पॉलीफिल लिखने के लिए कहा गया है, इसलिए इस पोस्ट में मैं "फ्रंटएंड साक्षात्कार के लिए सामान्य रूप से पूछे जाने वाले पॉलीफिल" की व्याख्या कर रहा हूं। मैं यह कहकर शुरू करता हूं कि पॉलीफिल भरण क्या हैं और उनकी आवश्यकता क्यों है।

साक्षात्कार के अपने नवीनतम दौर के दौरान मुझे कई मौकों पर पॉलीफिल लिखने के लिए कहा गया है, इसलिए इस पोस्ट में मैं " फ्रंटएंड साक्षात्कार के लिए सामान्य रूप से पूछे जाने वाले पॉलीफिल " की व्याख्या कर रहा हूं ।

मैं यह कहकर शुरू करता हूं कि पॉलीफिल भरण क्या हैं और उनकी आवश्यकता क्यों है।

एक पॉलीफ़िल, या पॉलीफ़िलर, कोड का एक टुकड़ा (या प्लगइन) है जो वह तकनीक प्रदान करता है जिसे आप, डेवलपर, ब्राउज़र से मूल रूप से प्रदान करने की अपेक्षा करते हैं। उदाहरण के लिए, स्टैक या रिकर्सन का उपयोग करके IE7 में Array.flat की कार्यक्षमता की नकल करने के लिए एक पॉलीफ़िल का उपयोग किया जा सकता है , या Array.flat के रूप में आपको जो कुछ भी चाहिए वह मूल रूप से IE7 द्वारा समर्थित नहीं है।

अब, जब आप जानते हैं कि पॉलीफ़िल्स क्या हैं, तो मैं जावास्क्रिप्ट में आमतौर पर पूछे जाने वाले ऐरे पॉलीफ़िल्स को लिखकर शुरू करता हूँ ।

Array.map

पॉलीफिल लिखने से पहले, आपको यह समझने की जरूरत है कि फ़ंक्शन कैसे काम करता है।

Array.map के मामले में

  1. यह एक कॉलबैक फ़ंक्शन लेता है जिसे सरणी के प्रत्येक तत्व और एक thisArg (वैकल्पिक) के लिए निष्पादित किया जाता है।
  2. कॉलबैक फ़ंक्शन में 3 तर्क होते हैं - तत्व, अनुक्रमणिका और स्वयं सरणी।
  3. मानचित्र एक नई सरणी देता है और मूल सरणी को संशोधित नहीं करता है।

  1. पॉलीफिल को प्रोटोटाइप से जोड़ा जाना चाहिए, ताकि इसे एक सरणी संपत्ति के रूप में एक्सेस किया जा सके।
  2. यह फ़ंक्शन के अंदर उस सरणी को इंगित करता है जिस पर customMap कहा जा रहा है।

Array.reduce (सबसे अधिक पूछे जाने वाले)

  1. कम करें दो तर्क लेता है, कॉलबैक फ़ंक्शन और प्रारंभिक वैल्यू (वैकल्पिक)
  2. कॉलबैक फ़ंक्शन 4 तर्क लेता है, संचायक जो पिछले मानों पर गणना का परिणाम है, currentValue , अनुक्रमणिका और सरणियाँ वैकल्पिक हैं।
  3. कम करने के कई उपयोग हैं, जैसे सरणी में सभी तत्वों का योग या साक्षात्कार के दृष्टिकोण से इसे पाइप फ़ंक्शन के रूप में भी इस्तेमाल किया जा सकता है
  4. इसी तरह, आपको r educeRight का पॉलीफिल लिखने के लिए कहा जा सकता है ।

  1. यह Array.map के समान है, केवल अंतर केवल उन तत्वों के साथ है जो कॉलबैक फ़ंक्शन को संतुष्ट करते हैं, उन्हें सरणी में धकेल दिया जाएगा।
  2. फ़िल्टर किए गए सरणी की लंबाई हमेशा मूल सरणी से कम या उसके बराबर होगी।
  3. फ़िल्टर किए गए सरणी के तत्वों को संशोधित नहीं किया गया है।
  4. Array.find फ़िल्टर के समान है, तत्व को धक्का देने के बजाय, उस तत्व को वापस करने की आवश्यकता है जो कॉलबैक स्थिति को पूरा करता है।

  1. यहां सरणी को उस पर निर्भरता के साथ चपटा किया गया है, डिफ़ॉल्ट रूप से सरणी को एक स्तर तक चपटा किया जाएगा।
  2. यहां, इस समस्या को हल करने के लिए रिकर्सन का उपयोग किया जाता है, लेकिन इसे स्टैक या जनरेटर फ़ंक्शन का उपयोग करके भी हल किया जा सकता है।
  3. इसी तरह, इंटरव्यू में Array.flatMap से पूछा जा सकता है।

एक बोनस के रूप में, मैं अक्सर पूछे जाने वाले एक को भी साझा करूंगा (मुझे टेकियन, प्रैक्टो और पेटीएम में पूछा गया)

बाँधना

  1. बाइंड का उपयोग फ़ंक्शन उधार के लिए किया जाता है, यह एक नया फ़ंक्शन देता है जिसे बाद में कहा जा सकता है।
  2. एक कस्टमबाइंड फ़ंक्शन लिखने के लिए आपको इसे फ़ंक्शन प्रोटोटाइप में संलग्न करना होगा क्योंकि बाइंड फ़ंक्शन प्रोटोटाइप का हिस्सा है।
  3. बाइंड और कॉल या अप्लाई के बीच का अंतर यह है कि कॉल और अप्लाई को तब कहा जाता है जब उन्हें इनवॉइस किया जा रहा हो, लेकिन बाइंड एक फंक्शन देता है जिसे बाद में इनवॉइस किया जा सकता है।
  4. साक्षात्कारकर्ता आपको सीधे बाइंड का पॉलीफ़िल लिखने के लिए कह सकता है, या वे आपको एक ऐसे परिदृश्य के साथ प्रस्तुत कर सकते हैं जहाँ आपको बाइंड फ़ंक्शन का उपयोग करने की आवश्यकता होती है, उदाहरण के लिए सेटटाइमआउट (रिपलिंग में मुझसे पूछा गया) में यदि आपको "इस" के साथ एक फ़ंक्शन को कॉल करने के लिए कहा जाता है। कीवर्ड मौजूद है, तो आपको इसे बाध्य करने की आवश्यकता है अन्यथा यह अपरिभाषित हो जाएगा।
  5. यदि आप रिएक्ट से परिचित हैं, तो वहां भी इसका व्यापक रूप से उपयोग किया जाता है।

भाग 2 के लिए देखें -https:///@souravsaha101/polyfills-polyfills-polyfills-part-2-419f88b23f8f

लिंक्डइन पर मुझे फॉलो करेंhttps://www.linkedin.com/in/sourav-saha-66b37b92/

© Copyright 2021 - 2023 | hingogo.com | All Rights Reserved