Sobes.tech
Junior

Was ist der Unterschied zwischen den Spread- und Rest-Operatoren?

sobes.tech KI

Antwort von AI

Der Spread-Operator (...) expandiert iterierbare Objekte (Arrays, Strings) in einzelne Elemente und wird häufig verwendet, um Arrays zu kopieren, Objekte zusammenzuführen oder Argumente an Funktionen zu übergeben. Der Rest-Operator (...) sammelt die verbleibenden Elemente in ein Array, das bei Destrukturierung oder bei der Funktionsdefinition zum Sammeln von Argumenten verwendet wird.

Beispiele für die Verwendung von spread:

// Erstellen einer Kopie eines Arrays
const arr1 = [1, 2, 3];
const arr2 = [...arr1]; // arr2 = [1, 2, 3]

// Zusammenführen von Arrays
const arr3 = [4, 5];
const combined = [...arr1, ...arr3]; // combined = [1, 2, 3, 4, 5]

// Übergabe von Argumenten an eine Funktion
function sum(a, b, c) {
  return a + b + c;
}
const numbers = [1, 2, 3];
const result = sum(...numbers); // result = 6

Beispiele für die Verwendung von rest:

// Sammeln der verbleibenden Elemente bei Array-Destrukturierung
const [first, ...restOfArray] = [1, 2, 3, 4]; // first = 1, restOfArray = [2, 3, 4]

// Sammeln von Argumenten in einer Funktion
function logArguments(arg1, ...restArgs) {
  console.log(arg1); // erstes Argument
  console.log(restArgs); // Array der restlichen Argumente
}
logArguments(1, 2, 3, 4); // Gibt 1 und [2, 3, 4] aus

Der Hauptunterschied liegt in ihrer Bestimmung: spread erweitert, rest fasst zusammen.