JavaScript-те ішкі функциялар

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

javascriptfunction func(num1, num2) {
  return num1 * num1 + num2 * num2;
}

console.log(func(2, 3)); // 13 шығарады (2 * 2 + 3 * 3 нәтижесі)

Квадраттау операциясын square көмекші функциясына шығарайық:

javascriptfunction square(num) {
  return num * num;
}

function func(num1, num2) {
  return square(num1) + square(num2);
}

console.log(func(2, 3)); // 13 шығарады

square функциясы тек func функциясында ғана қолданылады, ешқайда өзге жерде қолданылмайды деп анық білеміз делік.

Бұл жағдайда оны ешкім кездейсоқ қолданбауы (өзіңіз немесе сізбен бірге жұмыс істейтін басқа бағдарламашы) ыңғайлы болар еді.

JavaScript-те нәзік шешім бар: біз square көмекші функциясын func функциясының ішіне орналастыра аламыз. Бұл жағдайда біздің көмекші функция func ішінде ғана қолжетімді болады, ал сыртында - болмайды.

Мұны істейік:

javascriptfunction func(num1, num2) {
  function square(num) {
    return num * num;
  }
  
  return square(num1) + square(num2);
}

console.log(func(2, 3)); // 13 шығарады

square функциясын func функциясының сыртынан шақыру әрекеті қатеге әкеледі:

javascriptfunction func(num1, num2) {
  function square(num) {
    return num * num;
  }
  
  return square(num1) + square(num2);
}

console.log(square(2)); //!! қате шығарады
Задание 1

func функциясын жасаңыз, ол параметрлер ретінде екі санды қабылдап, бірінші санның квадраты мен екінші санның кубының қосындысын қайтарады. Ол үшін санды квадратқа шығаратын square көмекші функциясы мен санды текшеге шығаратын cube көмекші функциясын жасаңыз.