Computer >> कंप्यूटर >  >> प्रोग्रामिंग >> Javascript

जावास्क्रिप्ट में तीर कार्य

<घंटा/>

एमडीएन के अनुसार, एक एरो फंक्शन एक्सप्रेशन एक रेगुलर फंक्शन एक्सप्रेशन के लिए एक वाक्यात्मक रूप से कॉम्पैक्ट वैकल्पिक है, हालांकि इसके लिए अपने स्वयं के बाइंडिंग के बिना, तर्क, सुपर, या new.target कीवर्ड। एरो फंक्शन एक्सप्रेशन विधियों के रूप में अनुपयुक्त हैं, और उन्हें कंस्ट्रक्टर के रूप में उपयोग नहीं किया जा सकता है।

जावास्क्रिप्ट में नियमित कार्यों और तीर कार्यों में 3 सूक्ष्म अंतर हैं।

  • इस बंधन का स्वामी नहीं है

    एरो फ़ंक्शंस का अपना मूल्य नहीं होता है। एक तीर फ़ंक्शन के अंदर इसका मान हमेशा संलग्न दायरे से विरासत में मिलता है।

उदाहरण

this.a = 100;
let arrowFunc = () => {this.a = 150};
function regFunc() {
   this.a = 200;
}
console.log(this.a)
arrowFunc()
console.log(this.a)
regFunc()
console.log(this.a)

आउटपुट

यह आउटपुट देगा -

100
150
150

देखें कि एरो फ़ंक्शन ने इस ऑब्जेक्ट को इसके दायरे से बाहर बदल दिया है। रेगुलर फंक्शन ने अपने आप में ही बदलाव किए हैं।

  • एरो फ़ंक्शंस में तर्क सरणी नहीं होती है JS तर्कों में फ़ंक्शन में सरणी एक विशेष वस्तु होती है जिसका उपयोग फ़ंक्शन में सभी तर्कों को पारित करने के लिए किया जा सकता है। इसी तरह, एरो फ़ंक्शंस का तर्क ऑब्जेक्ट के लिए अपना स्वयं का बंधन नहीं होता है, वे एन्क्लोजिंग स्कोप के तर्कों के लिए बाध्य होते हैं।
  • एरो फंक्शन कॉल करने योग्य हैं, लेकिन कंस्ट्रक्टिव नहीं हैं। यदि कोई फ़ंक्शन कॉल करने योग्य है, तो इसे बिना नए (यानी सामान्य फ़ंक्शन कॉल) के कॉल किया जा सकता है।

फ़ंक्शन घोषणाओं / अभिव्यक्तियों के माध्यम से बनाए गए कार्य निर्माण योग्य और कॉल करने योग्य दोनों हैं।

एरो फ़ंक्शंस (और विधियाँ) केवल कॉल करने योग्य हैं। क्लास कंस्ट्रक्टर केवल कंस्ट्रक्टिव होते हैं।

यदि आप एक गैर-कॉल करने योग्य फ़ंक्शन को कॉल करने या एक गैर-रचनात्मक फ़ंक्शन बनाने का प्रयास कर रहे हैं, तो आपको एक रनटाइम त्रुटि मिलेगी।

उदाहरण

let arrowFunc = () => {}
new arrowFunc()

आउटपुट

यह कोड त्रुटि देता है -

arrowFunc is not a constructor

  1. जावास्क्रिप्ट में संक्षिप्त तीर कार्य

    संक्षिप्त तीर फ़ंक्शन सिंटैक्स इस प्रकार है - param1+param2 होता है और यदि एक ही पैरामीटर है तो इसे इस तरह भी लिखा जा सकता है - param1*2 के बाद घुंघराले ब्रेसिज़ {} नहीं हैं, तो इसका निहित प्रतिफल है। जावास्क्रिप्ट में संक्षिप्त तीर कार्यों को लागू करने के लिए कोड निम्नलिखित है - उदाहरण दस्तावेज़

  1. जावास्क्रिप्ट में मोटा तीर कार्य करता है

    फैट एरो फंक्शन सिंटैक्स निम्न जैसा दिखता है - { } पैरामीटर और फ़ंक्शन बॉडी के बीच है। जावास्क्रिप्ट में फैट एरो फंक्शन को लागू करने वाला कोड निम्नलिखित है - उदाहरण दस्तावेज़ बॉडी { फॉन्ट-फ़ैमिली:सेगो यूआई, ताहोमा, जिनेवा, वर्दाना, सेन्स-सेरिफ़; } .result{ फ़ॉन्ट-आकार:20px; फ़ॉन्ट-वजन:500; रंग:नीला

  1. जावास्क्रिप्ट में प्रथम श्रेणी का कार्य

    जावास्क्रिप्ट फ़ंक्शन को ऑब्जेक्ट के रूप में मानता है और हमें फ़ंक्शन को किसी अन्य फ़ंक्शन के लिए पैरामीटर के रूप में पास करने की अनुमति देता है और यहां तक ​​कि अन्य फ़ंक्शन से फ़ंक्शन वापस करने की अनुमति देता है। जावास्क्रिप्ट में फ़ंक्शन प्रथम श्रेणी के कार्य हैं जिसका अर्थ है कि हम उन्हें चर, वस्