Penyahstrukturan Parameter Fungsi dalam JavaScript

Penyahstrukturan mempunyai satu lagi bidang aplikasi yang sangat penting - penghantaran parameter fungsi. Intinya adalah seperti berikut: jika fungsi menerima array sebagai parameter, kita boleh tetapkan terus dalam pengisytiharan fungsi cara untuk menyahstruktur array tersebut.

Mari kita lihat contoh. Katakan kita mempunyai fungsi yang menerima array bersama tahun, bulan dan hari sebagai parameter:

javascriptfunc([2025, 12, 31]);

Mari kita nyatakan terus dalam parameter fungsi, kepada pemboleh ubah mana array ini harus dipecahkan:

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

Konstruksi di atas harus dianggap sebagai satu parameter fungsi. Jika mahu, boleh tambah parameter lain:

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

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

Dan dalam contoh berikutnya, parameter pertama dan kedua fungsi menghantar array dan kita menyahstruktur kedua-duanya:

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

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

Ubah kod berikut melalui penyahstrukturan menurut teori yang dipelajari:

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

Ubah kod berikut melalui penyahstrukturan menurut teori yang dipelajari:

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

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

Ubah kod berikut melalui penyahstrukturan menurut teori yang dipelajari:

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

Ubah kod berikut melalui penyahstrukturan menurut teori yang dipelajari:

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