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
का इस्तेमाल किस काम के लिए किया जाता है?