JavaScript'te İç İçe Fonksiyonlar

Diyelim ki parametre olarak iki sayı alan ve bu sayıların karelerinin toplamını döndüren bir fonksiyonumuz var:

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

console.log(func(2, 3)); // 13 yazacaktır (2 * 2 + 3 * 3 sonucu)

Karesini alma işlemini square adlı yardımcı bir fonksiyona çıkaralım:

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

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

console.log(func(2, 3)); // 13 yazacaktır

Diyelim ki square fonksiyonunun sadece func fonksiyonunda kullanılacağından ve başka hiçbir yerde kullanılmayacağından eminiz.

Bu durumda, onun yanlışlıkla kimse tarafından kullanılmamasını (siz kendiniz veya birlikte çalıştığınız başka bir programcı) sağlamak uygun olurdu.

JavaScript'te zarif bir çözüm var: yardımcı square fonksiyonumuzu func fonksiyonunun içine yerleştirebiliriz. Bu durumda yardımcı fonksiyonumuz sadece func fonksiyonunun içinden erişilebilir olacak, dışından ise olmayacak.

Bunu yapalım:

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

console.log(func(2, 3)); // 13 yazacaktır

square fonksiyonunu func fonksiyonunun dışından çağırma girişimi hataya yol açacaktır:

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

console.log(square(2)); //!! hata verecek
Задание 1

İki sayıyı parametre olarak alan ve ilk sayının karesi ile ikinci sayının küpünün toplamını döndüren bir func fonksiyonu yapın. Bunun için bir sayının karesini alan square yardımcı fonksiyonunu ve bir sayının küpünü alan cube yardımcı fonksiyonunu yapın.