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:
func([2025, 12, 31]);
Mari kita nyatakan terus dalam parameter fungsi, kepada pemboleh ubah mana array ini harus dipecahkan:
function 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:
func('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:
func([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
}
Ubah kod berikut melalui penyahstrukturan menurut teori yang dipelajari:
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] );
Ubah kod berikut melalui penyahstrukturan menurut teori yang dipelajari:
function func(employee) {
let name = employee[0];
let surname = employee[1];
let info = employee[2];
}
func( ['John', 'Smit', 'development', 'programmer', 2000] );
Ubah kod berikut melalui penyahstrukturan menurut teori yang dipelajari:
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'] );
Ubah kod berikut melalui penyahstrukturan menurut teori yang dipelajari:
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] );