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 жыйнайт.