Junior
Mi a különbség a spread és a rest operátorok között?
sobes.tech MI
Válasz az MI-től
A spread operátor (...) iterálható objektumokat (tömböket, szövegeket) bont szét egyedi elemekre, és gyakran használják tömbmásolat készítésére, objektumok összefűzésére vagy argumentumok átadására függvényeknek. A rest (...) operátor a maradék elemeket egy tömbbe gyűjti össze, destrukturáláskor vagy függvénydefiníciókban az argumentumok összegyűjtésére használják.
Spread használati példák:
// Tömb másolata
const arr1 = [1, 2, 3];
const arr2 = [...arr1]; // arr2 = [1, 2, 3]
// Tömbök összefűzése
const arr3 = [4, 5];
const combined = [...arr1, ...arr3]; // combined = [1, 2, 3, 4, 5]
// Argumentumok átadása függvénynek
function sum(a, b, c) {
return a + b + c;
}
const numbers = [1, 2, 3];
const result = sum(...numbers); // result = 6
Rest példák:
// A tömb destrukturálásakor a maradék elemek összegyűjtése
const [first, ...restOfArray] = [1, 2, 3, 4]; // first = 1, restOfArray = [2, 3, 4]
// Argumentumok összegyűjtése függvényben
function logArguments(arg1, ...restArgs) {
console.log(arg1); // első argumentum
console.log(restArgs); // a többi argumentum tömbje
}
logArguments(1, 2, 3, 4); // Kiírja 1 és [2, 3, 4]
A fő különbség a céljukban rejlik: spread kiterjeszt, rest összegyűjt.