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:

javascriptfunction func(num1, num2, num3) {
  return num1 + num2 + num3;
}

Le të supozojmë gjithashtu se kemi një array me tre elementë:

javascriptlet 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:

javascriptlet 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:

javascriptlet arr = [1, 2, 3];
func(arr[0], arr[1], arr[2]);

Por ekziston një mënyrë më e thjeshtë - përdorimi i operatorit spread:

javascriptlet arr = [1, 2, 3];
func(...arr);

Prania e ndryshores nuk është e detyrueshme - mund të aplikohet spread direkt në array:

javascriptfunc(...[1, 2, 3]);
Задание 1

Është dhënë array:

javascriptlet arr = [1, 2, 3, 4, 5];

Është dhënë gjithashtu funksioni:

javascriptfunction 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.