Sobes.tech
Junior

Spread va rest operatorlari o'rtasidagi farq nima?

sobes.tech AI

AIdan javob

Spread operator (...) kengaytiradigan ob'ektlar (massivlar, satrlar)ni alohida elementlarga ajratadi va ko'pincha massivlarning nusxalarini yaratish, ob'ektlarni birlashtirish yoki funksiyalarga argumentlar uzatish uchun ishlatiladi. Rest (...) operatori qolgan elementlarni bitta massivga to'playdi, destrukturalashda yoki funksiyalarni ta'riflashda argumentlarni yig'ish uchun ishlatiladi.

Spread foydalanish misollari:

// Massiv nusxasini yaratish
const arr1 = [1, 2, 3];
const arr2 = [...arr1]; // arr2 = [1, 2, 3]

// Massivlarni birlashtirish
const arr3 = [4, 5];
const combined = [...arr1, ...arr3]; // combined = [1, 2, 3, 4, 5]

// Funksiyaga argument uzatish
function sum(a, b, c) {
  return a + b + c;
}
const numbers = [1, 2, 3];
const result = sum(...numbers); // result = 6

Rest operatori foydalanish misollari:

// Massiv destrukturalashda qolgan elementlarni yig'ish
const [first, ...restOfArray] = [1, 2, 3, 4]; // first = 1, restOfArray = [2, 3, 4]

// Funksiyada argumentlarni yig'ish
function logArguments(arg1, ...restArgs) {
  console.log(arg1); // birinchi argument
  console.log(restArgs); // qolgan argumentlar ro'yxati
}
logArguments(1, 2, 3, 4); // 1 va [2, 3, 4] chiqaradi

Ularning asosiy farqi - ularning maqsadlaridagi farq: spread * kengaytiradi*, rest yig'adi.