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:
func([2025, 12, 31]);
Fonksiyon parametresinde doğrudan, bu dizinin hangi değişkenlere ayrılacağını belirtelim:
function 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:
func('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:
func([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
}
Aşağıdaki kodu öğrenilen teoriye göre destructuring kullanarak yeniden düzenleyin:
function 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] );
Aşağıdaki kodu öğrenilen teoriye göre destructuring kullanarak yeniden düzenleyin:
function func(employee) {
let name = employee[0];
let surname = employee[1];
let info = employee[2];
}
func( ['John', 'Smit', 'development', 'programmer', 2000] );
Aşağıdaki kodu öğrenilen teoriye göre destructuring kullanarak yeniden düzenleyin:
function 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'] );
Aşağıdaki kodu öğrenilen teoriye göre destructuring kullanarak yeniden düzenleyin:
function 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] );