Деструктурирање на параметри на функции во JavaScript
Деструктуризацијата има уште една многу важна област на примена - пренос на параметри на функции. Суштината е следна: ако функцијата прима како параметар низа, можеме да одредиме директно во декларацијата на функцијата како да ја деструктурираме таа низа.
Ајде да погледнеме на пример. Нека имаме функција која како параметар прима низа со година, месец и ден:
func([2025, 12, 31]);
Ајде директно во параметарот на функцијата да означиме, на кои променливи треба да се подели оваа низа:
function func([year, month, day]) {
console.log(year); // ќе испише 2025
console.log(month); // ќе испише 12
console.log(day); // ќе испише 31
}
Горенаведената конструкција треба да се сметa како еден параметар на функцијата. Можно е по желба да се додадат уште параметри:
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] );