Destrukturisasi Parameter Fungsi dalam JavaScript

Destrukturisasi memiliki area penerapan yang sangat penting lainnya - penyampaian parameter fungsi. Intinya adalah sebagai berikut: jika sebuah fungsi menerima array sebagai parameternya, kita dapat menentukan langsung dalam deklarasi fungsi cara mendestrukturisasi array tersebut.

Mari kita lihat contohnya. Misalkan kita memiliki fungsi yang parameternya menerima array berisi tahun, bulan, dan hari:

javascriptfunc([2025, 12, 31]);

Mari kita tentukan langsung dalam parameter fungsi, ke dalam variabel mana array ini harus dipecah:

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

Konstruksi di atas harus dianggap sebagai satu parameter fungsi. Jika diinginkan, kita bisa menambahkan parameter lain:

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

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

Dan dalam contoh berikutnya, parameter pertama dan kedua fungsi diteruskan sebagai array dan kita mendestrukturisasi keduanya:

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

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

Ubah kode berikut melalui destrukturisasi sesuai 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 kode berikut melalui destrukturisasi sesuai 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 kode berikut melalui destrukturisasi sesuai 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 kode berikut melalui destrukturisasi sesuai 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] );