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

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

<घंटा/>

नियमित कार्य बनाम तीर कार्य

एक तीर फ़ंक्शन कोड को संक्षिप्त रूप से लिखने के लिए उपयोग किया जाता है। दोनों कार्य नियमित और तीर एक समान तरीके से काम करते हैं लेकिन उनके बीच कुछ अंतर हैं। आइए उन अंतरों पर संक्षेप में चर्चा करें।

एरो फंक्शन का सिंटैक्स

let x = (params) => {
// code
};

नियमित फ़ंक्शन का सिंटैक्स

let x = function functionname(params){
// code
};

"इस" कीवर्ड का उपयोग

यह तीर कार्यों में "इस" कीवर्ड का उपयोग करने में असमर्थ है जबकि नियमित कार्यों में इसका उपयोग बिना किसी गड़बड़ी के किया जा सकता है।

उदाहरण

निम्नलिखित उदाहरण में, दोनों नियमित (आयत) और तीर (वर्ग) फ़ंक्शन का उपयोग ऑब्जेक्ट के अंदर किया गया था "num ", जिसमें लेन (लंबाई) और ब्रे (चौड़ाई) गुण होते हैं। हमारा उद्देश्य वर्ग का क्षेत्रफल ज्ञात करना है (लेन*लेन) तीर फ़ंक्शन का उपयोग कर रहा है और आयत का क्षेत्रफल (len*bre) नियमित . का उपयोग करके समारोह। लेकिन चूंकि "यह " कीवर्ड एरो फ़ंक्शन में काम नहीं करता है वर्ग . के क्षेत्रफल का मान "NaN . के रूप में लौटाया जाता है " नियमित . का उपयोग करते समय फ़ंक्शन हमें आयताकार . का एक सटीक क्षेत्र मिला जैसा कि आउटपुट में दिखाया गया है।

<html>
<body>
<script>
   var num = {
      len: 12,
      bre: 13,
      square:() => {
         document.write(this.len * this.len);
      },
      rectangle(){
         document.write(this.len * this.bre);
      }
   };
   num.square();
   document.write("</br>");
   num.rectangle();
</script>
</body>
</html>

आउटपुट

NaN
156


'नए' कीवर्ड का उपयोग

तीर कार्य करता है "रचनात्मक . नहीं हैं " लेकिन "कॉल करने योग्य " तो कीवर्ड "नया " यहां काम नहीं करता जबकि नियमित कार्य दोनों "कॉल करने योग्य . हैं " और "रचनात्मक " इसलिए "नया "कीवर्ड यहां काम करता है।

उदाहरण

निम्न उदाहरण में, "नया . का उपयोग करना " कीवर्ड कुछ तर्क नियमित . दोनों को पास कर दिए गए हैं और तीर समारोह। लेकिन तीर फ़ंक्शन . के बाद से "रचनात्मक . नहीं है "हमें एक त्रुटि मिलेगी, जबकि हमें नियमित कार्यों के लिए एक वैध आउटपुट मिलेगा ।

<html>
<body>
<script>
   var word = function(){
      document.write(JSON.stringify(arguments)); 
       ///  executes '{"0":"Tutorix","1":"Tutorialspoint"}' as output
   };
   new word("Tutorix","Tutorialspoint");  
   var newword = ()=> {
      document.write(JSON.stringify(arguments)); 
      //executes 'newword is not a constructor' as output
   };
   new newword("Tutorix","Tutorialspoint");
</script>
</body>
</html>

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

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

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

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

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

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