Rest və Spread Operatorları

JavaScript-də Rest operatoru funksiyaya müəyyən sayda arqument götürmək əvəzinə, istənilən sayda arqument götürməyə imkan verir. Bu, neçə arqumentin ötürüldüyünü əvvəlcədən bilmədən arqumentləri funksiyaya dinamik şəkildə ötürməyə şərait yaradır.

Rest Operatoru:

function collectArgs(...args) {
  console.log(args); // args is an Array
}

collectArgs(1, 2, 3, 4); // [1, 2, 3, 4]

Rest operatoru funksiyanın arqumentlər siyahısının sonunda istifadə olunur və bütün ötürülən arqumentləri bir arraydə toplayır.

Spread Operatoru:

Spread operatoru da üç nöqtə (…) ilə işarələnir, lakin fərqli olaraq, array və ya obyekt elementlərini ayrı-ayrılıqda yaymağa xidmət edir.

const numbers = [1, 2, 3];

function sum(x, y, z) {
  return x + y + z;
}

console.log(sum(...numbers)); // 6

Rest və Spread Operatorlarını Necə Ayırmaq Olar:

  • Əgər ... funksiyanın arqumentlər siyahısının sonunda istifadə olunursa, bu, rest operatorudur və ötürülən arqumentlərin qalan hissəsini bir arraydə toplamaq üçündür.

  • Əgər ... funksiya çağırışı zamanı və ya obyektlərin yayılması ilə əlaqədar istifadə olunursa, bu, spread operatorudur və array və ya obyektin elementlərini tək-tək yaymaq üçün istifadə edilir.