Функциялар параметрлерін деструктуризациялау JavaScript-те

Деструктуризацияның тағы бір өте маңызды қолданыс аясы бар - бұл функциялар параметрлерін беру. Мәнісі мынада: егер функция параметр ретінде массив қабылдаса, біз функцияны жариялау кезінде дәл сол массивті қалай деструктуризациялау керектігін көрсете аламыз.

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

javascriptfunc([2025, 12, 31]);

Функция параметрінде дәл осы массивті қандай айнымалыларға бөлу керектігін көрсетейік:

javascriptfunction func([year, month, day]) {
  console.log(year);  // 2025 шығарады
  console.log(month); // 12 шығарады
  console.log(day);   // 31 шығарады
}

Жоғарыда келтірілген конструкцияны функцияның бір параметрі ретінде қарастыру керек. Қалау бойынша тағы параметрлер қосуға болады:

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

function func(param1, [year, month, day], param2) {
  console.log(param1); // 'str1' шығарады
  
  console.log(year);   // 2025 шығарады
  console.log(month);  // 12 шығарады
  console.log(day);    // 31 шығарады
  
  console.log(param2); // 'str2' шығарады
}

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

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

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

Келесі кодты үйренген теория бойынша деструктуризация арқылы өзгертіңіз:

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

Келесі кодты үйренген теория бойынша деструктуризация арқылы өзгертіңіз:

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

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

Келесі кодты үйренген теория бойынша деструктуризация арқылы өзгертіңіз:

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

Келесі кодты үйренген теория бойынша деструктуризация арқылы өзгертіңіз:

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] );