Operatori spread në JavaScript
Në ES6 u shfaq një operator i veçantë ...,
i quajtur spread.
Kur operatori spread qëndron para një array, ai e ndan këtë array në vlera të veçanta, e shndërron array-në në një grup parametrash, të nevojshëm për thirrjen e funksionit.
Me siguri tingëllon e paqartë, prandaj le të
shohim një shembull të thjeshtë. Le të supozojmë se kemi
një funksion që pranon 3 parametra
dhe kthen shumën e tyre:
function func(num1, num2, num3) {
return num1 + num2 + num3;
}
Le të supozojmë gjithashtu se kemi një array me tre elementë:
let arr = [1, 2, 3];
Është e qartë se ne nuk mund ta marrim dhe ta kalojmë këtë array si parametër funksioni, kështu:
let arr = [1, 2, 3];
func(arr);
Sepse në këtë rast i gjithë array do të përfundojë në parametrin e parë të funksionit, kurse në këtë parametër është e nevojshme të kalojmë një numër (dhe gjithashtu në parametrat e tjerë po ashtu).
Natyrisht, mund të veprohet në mënyrën e mëposhtme:
let arr = [1, 2, 3];
func(arr[0], arr[1], arr[2]);
Por ekziston një mënyrë më e thjeshtë - përdorimi i operatorit spread:
let arr = [1, 2, 3];
func(...arr);
Prania e ndryshores nuk është e detyrueshme - mund të aplikohet spread direkt në array:
func(...[1, 2, 3]);
Është dhënë array:
let arr = [1, 2, 3, 4, 5];
Është dhënë gjithashtu funksioni:
function func(num1, num2, num3, num4, num5) {
return num1 + num2 + num3 + num4 + num5;
}
Gjeni me ndihmën e funksionit të dhënë shumën e elementeve të array.