JavaScript'te Fonksiyon Parametrelerinde Destructuring

Destructuring'in çok önemli bir uygulama alanı daha var - fonksiyon parametrelerinin iletilmesi. Öz şu şekildedir: eğer bir fonksiyon parametre olarak bir dizi alıyorsa, bu dizinin nasıl destructuring yapılacağını doğrudan fonksiyon tanımında belirtebiliriz.

Bir örnek üzerinden inceleyelim. Diyelim ki yıl, ay ve günü içeren bir diziyi parametre olarak alan bir fonksiyonumuz var:

javascriptfunc([2025, 12, 31]);

Fonksiyon parametresinde doğrudan, bu dizinin hangi değişkenlere ayrılacağını belirtelim:

javascriptfunction func([year, month, day]) {
  console.log(year);  // 2025 yazdırır
  console.log(month); // 12 yazdırır
  console.log(day);   // 31 yazdırır
}

Yukarıdaki yapı, fonksiyonun bir parametresi olarak değerlendirilmelidir. İstenirse daha fazla parametre eklenebilir:

javascriptfunc('str1', [2025, 12, 31], 'str2');

function func(param1, [year, month, day], param2) {
  console.log(param1); // 'str1' yazdırır
  
  console.log(year);   // 2025 yazdırır
  console.log(month);  // 12 yazdırır
  console.log(day);    // 31 yazdırır
  
  console.log(param2); // 'str2' yazdırır
}

Bir sonraki örnekte ise fonksiyonun birinci ve ikinci parametreleri olarak diziler iletilmekte ve her ikisini de destructuring yapmaktayız:

javascriptfunc([2025, 12, 31], [2026, 11, 30]);

function func([year1, month1, day1], [year2, month2, day2]) {
  console.log(year1);  // 2025 yazdırır
  console.log(month1); // 12 yazdırır
  console.log(day1);   // 31 yazdırır
  
  console.log(year2);  // 2026 yazdırır
  console.log(month2); // 11 yazdırır
  console.log(day2);   // 30 yazdırır
}
Задание 1

Aşağıdaki kodu öğrenilen teoriye göre destructuring kullanarak yeniden düzenleyin:

javascriptfunction func(employee) {
  let name       = employee[0];
  let surname    = employee[1];
  let department = employee[2];
  let position   = employee[3];
  let salary     = employee[4];
}

func( ['John', 'Smit', 'development', 'programmer', 2000] );
Задание 2

Aşağıdaki kodu öğrenilen teoriye göre destructuring kullanarak yeniden düzenleyin:

javascriptfunction func(employee) {
  let name     = employee[0];
  let surname  = employee[1];
  let info     = employee[2];
}

func( ['John', 'Smit', 'development', 'programmer', 2000] );
Задание 3

Aşağıdaki kodu öğrenilen teoriye göre destructuring kullanarak yeniden düzenleyin:

javascriptfunction func(employee) {
  let name       = employee[0];
  let surname    = employee[1];
  let department = employee[2];
  
  let position;
  if (arr[3] !== undefined) {
    position = arr[3];
  } else {
    position = 'junior';
  }
}

func( ['John', 'Smit', 'development'] );
Задание 4

Aşağıdaki kodu öğrenilen teoriye göre destructuring kullanarak yeniden düzenleyin:

javascriptfunction func(department, employee, hired) {
  let name     = employee[0];
  let surname  = employee[1];
  
  let year  = hired[0];
  let month = hired[1];
  let day   = hired[2];
}

func( 'development', ['John', 'Smit'], [2018, 12, 31] );