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.