In modernem JavaScript gibt es zwei wichtige Operatoren, die Sie ebenfalls kennen sollten, da alle diese auch
für den Kurs verwenden.
Und das sollen sich ausruhen und verbreiten.
Die Operatoren wissen genau, dass der Spread-Operator einer ist, den wir ziemlich oft verwenden werden.
Angenommen, wir möchten das Muster implementieren, bei dem beim Hinzufügen eines neuen Hobbys das ursprüngliche Array nicht bearbeitet
wird, sondern ein neues Array mit allen alten Werten erstellt wird.
Und der neue Wert ist eigentlich ein ziemlich verbreitetes Muster namens Unveränderlichkeit, bei dem wir nie vorhandene
Werte hinzugefügt haben, sondern diese immer durch Kopien ersetzen.
Plus die Änderungen.
Und das ist alles ein Muster.
Ich werde im Kurs ziemlich viel verwenden.
Die Idee dahinter ist, dass wir Fehler vermeiden, weil wir immer diesen klaren Ansatz der Kopie haben.
Fügen Sie es dann hinzu und bearbeiten Sie keine vorhandenen Objekte, die zu unlesbarerem Code führen könnten.
Kopieren Sie nun ein Array.
Angenommen, ich erstelle hier das Kopit-Array.
Wir haben ein paar mögliche Techniken.
Eine davon ist die Verwendung des Slice-Operators.
Wenn ich dort unten kopierte Arrays ausgeben und Node-Play-Schach ausführen kann, sehe ich Sport und Kochen.
Also habe ich es tatsächlich kopiert.
Slice kopiert einfach ein Array.
Wir können Argumente übergeben, um den Bereich der Elemente, die wir kopieren möchten, ohne Argumente einzugrenzen.
Wir kopieren das gesamte Array.
Anstelle von Slice gibt es jetzt auch eine andere Technik.
Wir können ein neues Array mit eckigen Klammern erstellen und Hobbie Stare hinzufügen.
Recht?
Was passiert nun, wenn wir dies ausführen?
Was sehen wir in der Konsole?
Wenn ich die Eingabetaste drücke, sehen wir.
Nun, es sieht auf den ersten Blick wie eine Kopie aus, aber eigentlich ist es ein Array ohne Array.
Das äußere Array hat also nur ein Element.
Und das ist das innere Array.
Es ist also keine Kopie.
Es ist nur ein neues Array, bei dem das erste Element das alte Array ist.
Und damit meine ich genau das gleiche Objekt.
Keine Kopie davon.
Also haben wir gerade eine erstellt.
Verschachteltes Array hier.
Das wollten wir hier natürlich nicht.
Und hier können wir den Spread-Operator verwenden, der Spread-Operator sind freie Punkte.
Wir können vor einem Array oder einem Objekt hinzufügen.
Und diese freien Punkte sind Operatoren nur als Plus- oder Minus-R.
Und sie machen eine Sache.
Sie nehmen dieses Array oder Objekt nach dem Operator und ziehen alle Elemente oder Eigenschaften heraus.
Also alle Elemente eines Arrays oder alle Eigenschaften eines Objekts und setzen Sie es auf alles, was sich um die Schuldenverteilung
dreht.
Operator In diesem Fall haben wir eckige Klammern um den Spread.
Operator Und daher werden alle Elemente, die aus dem vorhandenen Array herausgezogen werden, zum neuen Array
hinzugefügt.
Und deshalb, wenn ich jetzt diesen Herbst wieder laufe, weint und ich speichere es, bevor ich es wieder laufen lasse.
Jetzt sehen wir, dass dies die Ausgabe des alten Ansatzes war, des verschachtelten Arrays.
Jetzt haben wir kein verschachteltes Array mehr.
Wir haben ein Array.
Und dies ist jetzt eine Kopie des alten, da wir diesen Spread-Operator verwenden, um diese Elemente herauszuziehen
und sie einzeln zum neuen Array hinzuzufügen.
Das werden Sie also sehen.
Wir tun viel, um vorhandene Arrays oder Objekte zu kopieren.
Sterrett würde genauso arbeiten.
Wir könnten unsere kopierte Person mit geschweiften Klammern haben.
Dann der Spread-Operator, die freien Punkte und dann die alte Person.
Und jetzt, wenn eine Konsole eine kopierte Person hier gesperrt hat.
Und ich führe diesen Herbst wieder aus.
Dies ist unsere Kopit-Person hier, weil ich all diese Elemente aus diesem Objekt herausziehe und sie einem
neuen Objekt hinzufüge.
Dies funktioniert also sowohl für Objekte als auch für Arrays.
Und es ist ein Syntex.
Ich werde in diesem Kurs ziemlich viel verwenden.
Jetzt macht sich das zu verbreiten.
Operator, ich habe auch den Restoperator erwähnt und der Restoperator ist im Wesentlichen das Gegenteil.
Angenommen, ich habe eine Funktion, die ich zwei Arrays nennen werde.
Es ist eine Pfeilfunktion.
Und dort erwarte ich, dass Argumente einen Bogen frei sind.
Ich möchte ein Array zurückgeben, das diese Argumente enthält.
Gibson gab hier ein Gleichheitszeichen aus.
Wenn ich also ein Array zurückgebe, das diese Argumente enthält, kann ich hier natürlich eckige Klammern zurückgeben.
Und dann wird das erste Element AAG sein.
Dann habe ich ARC zwei ist das zweite Element und Bogen frei ist das erste Element.
Jetzt kann ich die Konsolensperre für das Array festlegen und eins, zwei und drei als freie Argumente an diese Funktion übergeben.
Wenn ich jetzt Schach spiele, sehen wir ein Array mit einem, zwei und drei D drei Elementen.
Das funktioniert also, aber das ist absolut nicht flexibel.
Was ist, wenn wir Argumente durchgehen wollen?
Nun, wir könnten es so nennen.
JavaScript erlaubt das tatsächlich.
Aber natürlich wird es nicht hinzugefügt, da wir hier nur mit freien Argumenten arbeiten.
Wir könnten tun, wir könnten den sogenannten Ruheoperator verwenden, Liebes.
Punkt Punkt Punkt.
Und dann fragt einfach.
Und das wird tatsächlich alle Argumente nehmen.
Wie viele könnten wir angeben.
Das ist egal.
Und es wird sie für uns in einem Array bündeln.
Hier werden ARGs also ein Array sein und ich kann das einfach zurückgeben.
Und jetzt, wenn ich dies mit zwei Arrays ausführe, die nach Argumenten suchen, sehen Sie, dass ich hier mein Array mit vier
Argumenten habe.
Der Restoperator sieht also genauso aus wie der Spread-Operator.
Freie Punkte.
Und es ist der Ort, an dem Sie es verwenden, der definiert, wie Sie es nennen.
Verwenden Sie es, um Elemente oder Eigenschaften aus Arrays oder Objekten zu ziehen?
Dann wäre es der Spread-Operator.
Verwenden Sie es, um mehrere Argumente zu einem Array zusammenzuführen?
Und Sie verwenden es in der Argumentliste einer Funktion.
Dann ist es der Restoperator.
Es ist der gleiche Operator von Syntex oder aus Syntex-Sicht.
Der Name unterscheidet sich je nach Ort, an dem Sie ihn verwenden.
Ich werde das nicht benutzen.
Einige nehmen viel in diesem Kurs, aber es ist immer noch schön zu wissen.
Aber in der Lage zu sein, Elemente oder Eigenschaften, Daten, etwas herauszuholen, das Sie verstehen sollten, weil Papa ein Syntex ist, werden
Sie sehen, dass ich während des gesamten Kurses ziemlich viel benutze.