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

JavaScript में एरो फ़ंक्शन्स


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

JavaScript में रेगुलर फ़ंक्शन्स और एरो फ़ंक्शन्स में 3 सूक्ष्म अंतर हैं।

  • कोई अपना this बाइंडिंग नहीं

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

उदाहरण

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

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

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

फ़ंक्शन डिक्लेरेशन/एक्सप्रेशन्स के माध्यम से बनाए गए फ़ंक्शन्स दोनों कंस्ट्रक्टिबल और कॉल करने योग्य हैं।

एरो फ़ंक्शन्स (और मेथड्स) केवल कॉल करने योग्य हैं। क्लास कंस्ट्रक्टर्स केवल कंस्ट्रक्टिबल हैं।

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

उदाहरण

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

आउटपुट

यह कोड एरर देता है:

arrowFunc is not a constructor
  1. JavaScript में संक्षिप्त एरो फंक्शन्स (Concise Arrow Functions) JavaScript में संक्षिप्त एरो फंक्शन्स (Concise Arrow Functions)

    संक्षिप्त एरो फंक्शन सिंटैक्स निम्नलिखिक है:(param1, param2) =>param1+param2इसमें function कीवर्ड और फंक्शन बॉडी नहीं होती। पैरामीटर्स और फंक्शन बॉडी के बीच केवल => होता है और यदि सिंगल पैरामीटर है तो इसे इस तरह भी लिखा जा सकता है:param1=>param1*2यदि => के बाद कर्ली ब्रेसेस {} नहीं हैं त

  1. JavaScript में फैट एरो फंक्शन्स (Fat Arrow Functions) JavaScript में फैट एरो फंक्शन्स (Fat Arrow Functions)

    फैट एरो फंक्शन सिंटैक्स निम्नलिखिक दिखता है:(param1,param2,..)=>{ }इसमें function कीवर्ड नहीं होता और केवल पैरामीटर्स और फंक्शन बॉडी के बीच => होता है।JavaScript में फैट एरो फंक्शन्स इम्प्लीमेंट करने का कोड:उदाहरण<!DOCTYPE html> <html lang="hi"> <head> <meta char

  1. जावास्क्रिप्ट में फर्स्ट-क्लास फ़ंक्शन जावास्क्रिप्ट में फर्स्ट-क्लास फ़ंक्शन

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