Sobes.tech
Junior

Spread жана rest операторлорунын айырмасы эмнеде?

sobes.tech AI

AIден жооп

Таралуучу оператор (...) қайталанатын объектілерді (жинақтар, жолдар) жеке элементтерге кеңейтеді және жиі массивтердің көшірмелерін жасау, объектілерді біріктіру немесе функцияларға аргументтерді беру үшін пайдаланылады. Қалған элементтерді жинайтын (...) операторы қалған элементтерді бір массивке жинайды, ол деструктуризация кезінде немесе функцияларды анықтау кезінде аргументтерді жинау үшін пайдаланылады.

Таралуу мысалдары:

// Массивтің көшірмесін жасау
const arr1 = [1, 2, 3];
const arr2 = [...arr1]; // arr2 = [1, 2, 3]

// Массивтерді біріктіру
const arr3 = [4, 5];
const combined = [...arr1, ...arr3]; // combined = [1, 2, 3, 4, 5]

// Функцияға аргументтерді беру
function sum(a, b, c) {
  return a + b + c;
}
const numbers = [1, 2, 3];
const result = sum(...numbers); // result = 6

Қалған элементтерді жинау мысалдары:

// Массивті деструктуризациялау кезінде қалған элементтерді жинау
const [first, ...restOfArray] = [1, 2, 3, 4]; // first = 1, restOfArray = [2, 3, 4]

// Аргументтерді жинау функциясында
function logArguments(arg1, ...restArgs) {
  console.log(arg1); // бірінші аргумент
  console.log(restArgs); // қалған аргументтердің массиві
}
logArguments(1, 2, 3, 4); // 1 және [2, 3, 4] шығарады

Негізгі айырмашылық олардың мақсатынды: spread кеңейтеді, rest жинақтайды.