Функциялар параметрлерін деструктуризациялау JavaScript-те
Деструктуризацияның тағы бір өте маңызды қолданыс аясы бар - бұл функциялар параметрлерін беру. Мәнісі мынада: егер функция параметр ретінде массив қабылдаса, біз функцияны жариялау кезінде дәл сол массивті қалай деструктуризациялау керектігін көрсете аламыз.
Мысалға қарайық. Бізде жыл, ай және күнмен массивті параметр ретінде қабылдайтын функция болсын:
func([2025, 12, 31]);
Функция параметрінде дәл осы массивті қандай айнымалыларға бөлу керектігін көрсетейік:
function func([year, month, day]) {
console.log(year); // 2025 шығарады
console.log(month); // 12 шығарады
console.log(day); // 31 шығарады
}
Жоғарыда келтірілген конструкцияны функцияның бір параметрі ретінде қарастыру керек. Қалау бойынша тағы параметрлер қосуға болады:
func('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' шығарады
}
Ал келесі мысалда функцияның бірінші және екінші параметрлері ретінде массивтер беріледі және біз олардың екеуін де деструктуризациялаймыз:
func([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 шығарады
}
Келесі кодты үйренген теория бойынша деструктуризация арқылы өзгертіңіз:
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] );
Келесі кодты үйренген теория бойынша деструктуризация арқылы өзгертіңіз:
function func(employee) {
let name = employee[0];
let surname = employee[1];
let info = employee[2];
}
func( ['John', 'Smit', 'development', 'programmer', 2000] );
Келесі кодты үйренген теория бойынша деструктуризация арқылы өзгертіңіз:
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'] );
Келесі кодты үйренген теория бойынша деструктуризация арқылы өзгертіңіз:
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] );