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.