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