जावास्क्रिप्ट में फ़ंक्शन जो फ़ंक्शन रिटर्न करता है

मान लीजिए कि हमारे पास एक ऐसा फ़ंक्शन है जो एक स्ट्रिंग रिटर्न करता है:

javascriptfunction func() {
  return '!';
}

let result = func();
console.log(result); // '!' प्रिंट करेगा

अब स्ट्रिंग के बजाय, इसी तरह, एक अनाम फ़ंक्शन रिटर्न करते हैं:

javascriptfunction func() {
  return function() {
    return '!';
  };
}

let result = func(); // वेरिएबल result में एक फ़ंक्शन होगा
console.log(result); // 'function() {return '!';}' प्रिंट करेगा

जैसा कि आप देख रहे हैं, वेरिएबल result अब एक फ़ंक्शन है। आइए इसके आउटपुट को कंसोल में प्रिंट करें। इसके लिए हम इसके साथ कोष्ठक लगाएंगे:

javascriptfunction func() {
  return function() {
    return '!';
  };
}

let result = func();
console.log( result() ); // '!' प्रिंट करेगा

चूंकि func() का कॉल एक फ़ंक्शन रिटर्न करता है, इसलिए हम तुरंत उस रिटर्न किए गए फ़ंक्शन को कॉल कर सकते हैं, इस तरह: func()() - पहला कोष्ठक फ़ंक्शन func का रिजल्ट प्राप्त करता है (जो स्वयं एक फ़ंक्शन है), और दूसरा कोष्ठक func के रिजल्ट पर लागू होता है।

आइए कोशिश करते हैं:

javascriptfunction func() {
  return function() {
    return '!';
  };
}

console.log( func()() ); // '!' प्रिंट करेगा
Задание 1

फ़ंक्शन func1 बनाएं, जिसे इस तरह कॉल किया जाए: func1()(), तो यह नंबर 1 रिटर्न करे। इसी तरह का फ़ंक्शन func2 बनाएं, जो नंबर 2 रिटर्न करे। इन फ़ंक्शन्स के रिजल्ट का योग ज्ञात करें।