रिटर्न कीवर्ड

return का इस्तेमाल करके, वह वैल्यू तय करें जो फ़ंक्शन को फ़ाइनल के तौर पर बनानी चाहिए नतीजा. जब इंटरप्रेटर किसी return स्टेटमेंट पर पहुंचता है, तो उस स्टेटमेंट वाले फ़ंक्शन को तुरंत बंद कर दिया जाता है. साथ ही, बताई गई वैल्यू को उस कॉन्टेक्स्ट में लौटा दिया जाता है जहां फ़ंक्शन को कॉल किया गया था:

const myFunction = function() {
   return 2 + 2;
}

myFunction();
> 4

जो फ़ंक्शन कोई वैल्यू दिखाता है उसे असरदार तरीके से उस डेटा के तौर पर प्रोसेस किया जा सकता है वैरिएबल की तरह इसमें शामिल है:

const myFunction = function() {
   return 2 + 2;
}

myFunction() + myFunction();
> 8

बिना एक्सप्रेशन वाला return स्टेटमेंट, फ़ंक्शन को खत्म करके रिटर्न करता है undefined:

const myFunction = function() {
   return;
}

myFunction();
> undefined

return कीवर्ड, किसी फ़ंक्शन के खत्म होने का संकेत देता है. इसलिए, return के बाद मौजूद कोई भी कोड, लागू नहीं किया जाता:

const myFunction = function() {
   return true;
   console.log( "This is a string." );
}

myFunction();
> true

इसके अलावा, return स्टेटमेंट के बाद मौजूद कोड की वजह से, कुछ ब्राउज़र के डेवलपर कंसोल में चेतावनी दिख सकती है. हालांकि, गड़बड़ी नहीं दिखेगी:

const myFunction = function() {
   return true;
   console.log( "This is a string." );
}
> unreachable code after return statement

myFunction();
> true

फिर से, यह केवल इस अवधि के दौरान मिलने वाले return स्टेटमेंट पर लागू होता है फ़ंक्शन को एक्ज़ीक्यूट करना, न कि ऐसा कोई भी कोड जो return स्टेटमेंट को एक क्रम में फ़ॉलो करता हो:

const myFunction = function( myParameter ) {
   if( myParameter === undefined ) {
    return "This is the result.";
   }
   return "This is the alternate result.";
}

myFunction();
> "This is the result."

myFunction( true );
> "This is the alternate result."

"शॉर्ट सर्किट" शुरुआती return का इस्तेमाल करने वाला फ़ंक्शन, कम शब्दों में ज़्यादा सटीक नतीजे दे सकता है फ़ंक्शन के अंत में return स्टेटमेंट से अलग कोड का इस्तेमाल करें. उदाहरण के लिए, यहां दिया गया फ़ंक्शन यह तय करता है कि दी गई वैल्यू, पांच या उससे ज़्यादा वर्णों वाली स्ट्रिंग है या नहीं. अगर पास किया गया मान, स्ट्रिंग की लिटरल वैल्यू नहीं है, तो वह कोड जो यह गिनता है कि वर्णों की क्या ज़रूरत है. साथ ही, फ़ंक्शन, false को रिटर्न कर सकता है तुरंत नतीजा:

function myFunction( myString ) {
   if( typeof myString !== "string" ) {
    return false;
   }
   if( myString.length >= 5 ) {
    return true;
   } else {
    return false;
   }
}

myFunction( 100 );
> false

myFunction( "St" );
> false

myFunction( "String." );
> true

ऐरो फ़ंक्शन एक्सप्रेशन इस मामले में यूनीक होते हैं कि जब ऐरो फ़ंक्शन के मुख्य हिस्से में एक एक्सप्रेशन और कोई ब्लॉक सिंटैक्स न हो, तो return कीवर्ड का इस्तेमाल किया जाता है:

const myFunction = () => 2 + 2;

myFunction();
> 4

अगर ऐरो फ़ंक्शन के मुख्य हिस्से को तय करने के लिए ब्लॉक सिंटैक्स का इस्तेमाल किया जाता है, तो साफ़ तौर पर return देना ज़रूरी है. भले ही, फ़ंक्शन के मुख्य हिस्से में सिर्फ़ एक एक्सप्रेशन हो:

const myFunction = () => { 2 + 2 };

myFunction();
> undefined
const myFunction = () => { return 2 + 2 };

myFunction();
> 4

देखें कि आपको कितना समझ आया है

return का इस्तेमाल किस काम के लिए किया जाता है?

कोड को फ़ंक्शन की शुरुआत में वापस ले जाना.
फ़ंक्शन का आखिरी नतीजा तय करना.