JavaScriptтегі функция, функция қайтарады

Бізде жол қайтаратын мынадай функция болсын:

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 санын қайтарсын. Осы функциялардың нәтижелерінің қосындысын табыңыз.