Die destrukturierende Zuweisungssyntax ist ein JavaScript-Ausdruck, der es ermöglicht, Werte aus Arrays oder Eigenschaften aus Objekten in unterschiedliche Variablen zu destrukturieren bzw. zu entpacken.
Das Destructing " ("Zerstören") eines Objekts oder Arrays bedeutet
nicht, dass wir es aus dem Programm löschen und nie wieder verwenden
können. Es ist eher so, dass wir einen bestimmten Teil davon erhalten.
Das Destrukturieren extrahiert einfach die Array-Elemente oder
Objekteigenschaften und speichert sie in Variablen. Beim
Destrukturieren des Arrays wird der Wert des Index gemäß der
Indexierung mit dem Key zurückgegeben.
Aber es gibt noch einen anderen Nutzen der destruktiven
Zuweisungen: Das "Spreading" und das "Rest Pattern".
Dies gibt uns die Möglichkeit, die verbleibenden unzerstörten
Eigenschaften/Indizes in eine neue Variable zu übernehmen.
Der Spread-Operator wird verwendet, um Array-Elemente oder
Objekteigenschaften aufzuteilen. Es führt eine "deep copy" der
Array-Elemente oder des Objektes durch, sodass die ursprünglichen Werte
nicht beeinflusst werden. Achtung: Die "deep copy" gilt nur für eine Leveltiefe - z.B. nicht bei Objekten innerhalb eines Objekts.
Denn dort werden die "nested objects" wieder als Referenz-Typ übertragen. Um eine vollständige "deep copy" (inkl. nested objects) durchzuführen, muss
JSON.parse/stringify. "JSON.parse(JSON.stringify(object))" durchgeführt werden.
Alternativ können auch Libraries verwendet werden.
Um es zu vereinfachen, veranschaulichen wir das Array einmal für uns als eine Kiste. Der Spread-Operator ermöglicht es uns, den gesamten Inhalt der Kiste zu greifen, ohne die Kiste selbst zu greifen und diesen Inhalt an einer beliebigen Stelle zu platzieren. Der Spread-Operator kann also verwendet werden, um den Inhalt eines Arrays oder mehrerer Arrays in ein anderes Array zu kopieren.
oder:
Der Rest Operator ist das Gegenteil vom Spread-Operator. Denn im Gegensatz zum Spread-Operator, der die Elemente in einem Array verteilt, ist es beim Rest-Operator (auch Gather-Operator genannt) so, dass er mehrere Elemente in einem Array gruppiert/sammelt. Der Rest-Operator wird in einer Funktion immer dann verwendet, wenn mehrere Arguments erwartet werden.