Sobes.tech
Junior

Spread ve rest operatörleri arasındaki fark nedir?

sobes.tech yapay zeka

AI'dan gelen yanıt

Spread operatörü (...) yineleyebilir nesneleri (diziler, dizgeler) ayrı öğelere genişletir ve genellikle dizilerin kopyalarını oluşturmak, nesneleri birleştirmek veya fonksiyonlara argümanlar iletmek için kullanılır. Rest (...) operatörü ise kalan öğeleri tek bir diziye toplar, destrüktürasyon sırasında veya fonksiyon tanımlarında argümanları toplamak için kullanılır.

Spread kullanımı örnekleri:

// Dizi kopyası oluşturma
const arr1 = [1, 2, 3];
const arr2 = [...arr1]; // arr2 = [1, 2, 3]

// Dizileri birleştirme
const arr3 = [4, 5];
const combined = [...arr1, ...arr3]; // combined = [1, 2, 3, 4, 5]

// Fonksiyonlara argüman iletme
function sum(a, b, c) {
  return a + b + c;
}
const numbers = [1, 2, 3];
const result = sum(...numbers); // result = 6

Rest kullanımı örnekleri:

// Dizi destrüktürasyonunda kalan öğeleri toplama
const [first, ...restOfArray] = [1, 2, 3, 4]; // first = 1, restOfArray = [2, 3, 4]

// Fonksiyon argümanlarını toplama
function logArguments(arg1, ...restArgs) {
  console.log(arg1); // ilk argüman
  console.log(restArgs); // kalan argümanların dizisi
}
logArguments(1, 2, 3, 4); // 1 ve [2, 3, 4] yazdırır

Ana farkları amaçlarındaki farklılıktır: spread genişletir, rest toplar.