KonzeptES6 bietet einen prägnanteren Zuweisungsmodus zum Extrahieren von Werten aus Arrays und Objekten, der als Destrukturierung bezeichnet wird. Beispiel: [a, b] = [50, 100]; konsole.log(a); // erwartete Ausgabe: 50 console.log(b); // erwartete Ausgabe: 100 [a, b, ...Rest] = [10, 20, 30, 40, 50]; Konsole.log(Rest); // erwartete Ausgabe: [30, 40, 50] Array-DestrukturierungDie Destrukturierung von Arrays ist sehr einfach und präzise. Verwenden Sie ein Array-Literal auf der linken Seite des Zuweisungsausdrucks. Jeder Variablenname im Array-Literal wird demselben Indexelement im Destrukturierungsarray zugeordnet. Was bedeutet das? Es bedeutet, dass wie im folgenden Beispiel die Elemente im linken Array die Werte der entsprechenden Indizes des dekonstruierten Arrays auf der rechten Seite erhalten. sei [a, b, c] = [1, 2, 3]; // ein = 1 // b = 2 // c = 3 Werte separat deklarieren und zuweisenSie können Werte separat destrukturieren und zuweisen, indem Sie Variablen deklarieren Beispiel : Variablen deklarieren und ihnen Werte zuweisen // Variablen deklarieren let a, b; // Dann weise die Werte [a, b] = [1, 2] jeweils zu; konsole.log(a); // 1 console.log(b); // 2 Destrukturierung von StandardwertenWenn der durch die Dekonstruktion extrahierte Wert nicht definiert ist, können Sie einen Standardwert festlegen: sei a, b; // Standardwerte festlegen [a = 5, b = 7] = [1]; konsole.log(a); // 1 console.log(b); // 7 Im obigen Beispiel legen wir Standardwerte sowohl für a als auch für b fest. In diesem Fall wird, wenn der Wert von a oder b nicht definiert ist, der Standardwert der Einstellung der entsprechenden Variablen zugewiesen (5 wird a zugewiesen und 7 wird b zugewiesen). Austauschen von VariablenwertenIn der Vergangenheit haben wir zwei Variablen ausgetauscht mit //Austausch ab c = ein; a = b; b = c; Oder XOR-Methode Bei der Destrukturierungszuweisung können wir jedoch zwei Variablenwerte in einem Destrukturierungsausdruck vertauschen. sei a = 1; sei b = 3; //Tausche die Werte von a und b [a, b] = [b, a]; konsole.log(a); // 3 console.log(b); // 1 Dekonstruieren von von Funktionen zurückgegebenen ArraysWir können eine Funktion, die ein Array zurückgibt, direkt dekonstruieren Funktion c() { Rückkehr [10, 20]; } sei a, b; [a, b] = c(); konsole.log(a); // 10 console.log(b); // 20 Im obigen Beispiel kann der Rückgabewert [10, 20] von c() in einer einzigen Codezeile destrukturiert werden. Rückgabewert ignorieren (oder ein Element überspringen)Sie können unerwünschte Rückgabewerte selektiv überspringen Funktion c() { Rückkehr [1, 2, 3]; } sei [a, , b] = c(); konsole.log(a); // 1 console.log(b); // 3 Den Rest eines Arrays einer Variablen zuweisenWenn Sie die Array-Destrukturierung verwenden, können Sie den Rest des zugewiesenen Arrays einer Variablen zuweisen. sei [a, ...b] = [1, 2, 3]; konsole.log(a); // 1 console.log(b); // [2, 3] In diesem Fall wird b auch zu einem Array und die Elemente im Array sind alle verbleibenden Elemente. Beachten: Achten Sie hier darauf, dass Sie am Ende kein Komma setzen können. Wenn Sie ein zusätzliches Komma setzen, wird ein Fehler gemeldet. sei [a, ...b,] = [1, 2, 3]; // Syntaxfehler: Dem Restelement darf kein abschließendes Komma fehlen Destrukturierung verschachtelter ArraysWie Objekte können auch Arrays verschachtelt werden. Beispiel: const Farbe = ['#FF00FF', [255, 0, 255], 'rgb(255, 0, 255)']; //Verwende verschachtelte Destrukturierung, um Rot, Grün und Blau zuzuweisen // Verwenden Sie verschachtelte Destrukturierung, um Rot, Grün und Blau zuzuweisen const [hex, [rot, grün, blau]] = Farbe; console.log(hex, rot, grün, blau); // #FF00FF 255 0 255 Destrukturierung von ZeichenfolgenWenn bei der Array-Dekonstruktion das Ziel der Dekonstruktion ein durchquerbares Objekt ist, kann eine Dekonstruktionszuweisung durchgeführt werden. Ein durchquerbares Objekt sind Daten, die die Iterator-Schnittstelle implementieren. lass [a, b, c, d, e] = 'hallo'; /* a = "h" b = "e" c = "l" d = "l" e = "o" */ Destrukturierung von ObjektenGrundlegende Objektdekonstruktionsei x = { y: 22, z: true }; let { y, z } = x; // Abkürzung für let {y:y,z:z} = x; console.log(y); // 22 console.log(z); // wahr Dem neuen Variablennamen einen Wert zuweisenSie können den Namen einer Variablen ändern, wenn Sie die Objektdestrukturierung verwenden sei o = { p: 22, q: true }; lass { p: foo, q: bar } = o; konsole.log(foo); // 22 console.log(bar); // wahr Wie im obigen Code gezeigt, ruft var {p: foo} = o den Eigenschaftsnamen p des Objekts o ab und weist ihn einer Variablen namens foo zu. Destrukturierung von StandardwertenWenn der dekonstruierte Objektwert nicht definiert ist, können wir einen Standardwert festlegen sei { a = 10, b = 5 } = { a: 3 }; konsole.log(a); // 3 console.log(b); // 5 Zuweisen eines Wertes zu einem neuen Objektnamen unter Angabe eines StandardwertesWie bereits erwähnt, weisen wir einem neuen Objektnamen einen Wert zu. Hier können wir einen Standardwert für den neuen Objektnamen angeben. Wenn er nicht destrukturiert ist, wird der Standardwert automatisch verwendet. sei { a: aa = 10, b: bb = 5 } = { a: 3 }; konsole.log(aa); // 3 konsole.log(bb); // 5 Gemeinsame Verwendung der Destrukturierung von Arrays und ObjektenArrays und Objekte können zusammen in Strukturen verwendet werden const props = [ { ID: 1, Name: 'Fizz' }, { ID: 2, Name: 'Buzz' }, { id: 3, name: 'FizzBuzz' }, ]; const [, , { name }] = Requisiten; console.log(Name); // "FizzBuzz" Unvollständige Dekonstruktionlet obj = {p: [{y: 'Welt'}] }; let {p: [{ y }, x ] } = obj; //x nicht dekonstruieren // x = undefiniert // y = "Welt" Einem Objekt einen Restwert zuweisensei {a, b, ...rest} = {a: 10, b: 20, c: 30, d: 40}; // ein = 10 // b = 20 // Rest = {c: 30, d: 40} Destrukturierung verschachtelter Objekte (Destrukturierung kann ignoriert werden)let obj = {p: ['hallo', {y: 'Welt'}] }; sei {p: [x, { y }] } = obj; // x = "hallo" // y = "Welt" let obj = {p: ['hallo', {y: 'Welt'}] }; let {p: [x, { }] } = obj; // y ignorieren // x = "hallo" VorsichtsmaßnahmenSeien Sie vorsichtig bei der Destrukturierung deklarierter VariablenFehlerdemonstration: sei x; {x} = {x: 1}; Die JavaScript-Engine interpretiert {x} als Codeblock, was zu einem Syntaxfehler führt. Wir sollten es vermeiden, geschweifte Klammern am Zeilenanfang zu schreiben, um zu verhindern, dass JavaScript sie als Codeblock interpretiert. Richtige Schreibweise: lass x; ({x} = {x: 1}); Die korrekte Schreibweise besteht darin, die gesamte Destrukturierungszuweisungsanweisung in Klammern zu setzen. Anschließend wird sie korrekt ausgeführt. Destrukturierende Zuweisung von FunktionsparameternFunktionsparameter können auch durch Destrukturierung zugewiesen werden Funktion addieren([x, y]) { gib x + y zurück; } hinzufügen([1, 2]); Im obigen Code ist der Parameter der Add-Funktion oberflächlich betrachtet ein Array, aber bei der Übergabe des Parameters wird der Array-Parameter in die Variablen x und y zerlegt. Für die Funktion ist dies dasselbe wie die direkte Übergabe von x und y. Verwendung der DekonstruktionEs gibt viele Verwendungsmöglichkeiten für die Destrukturierungszuweisung Vertauschen der Werte von Variablensei x = 1; sei y = 2; [x, y] = [y, x]; Der obige Code vertauscht die Werte von x und y. Das ist nicht nur prägnant, sondern auch gut lesbar und hat eine klare Semantik. Zurückgeben mehrerer Werte aus einer FunktionEine Funktion kann nur einen Wert zurückgeben. Wenn wir mehrere Werte zurückgeben möchten, können wir diese Werte nur in einem Array oder Objekt zurückgeben. Wenn wir eine Destrukturierungszuweisung haben, ist es so einfach, wie etwas aus einer Tasche zu nehmen, um diese Werte aus einem Objekt oder Array zu erhalten. //Gibt ein Array zurück Funktion example() { Rückkehr [1, 2, 3]; } lass [a, b, c] = Beispiel(); //Gib eine Objektfunktion zurück example() { zurückkehren { foo: 1, Takt: 2 }; } let { foo, bar } = Beispiel(); Extrahieren von JSON-DatenDie Destrukturierungszuweisung ist besonders nützlich zum Extrahieren von Daten aus JSON-Objekten. Beispiel: lass jsonData = { Ich würde: 42, Status: "OK", Daten: [867, 5309] }; let { id, status, daten: nummer } = jsonData; console.log(ID, Status, Nummer); // 42, "OK", [867, 5309] Mit dem obigen Code können wir den Wert in den JSON-Daten schnell abrufen ZusammenfassenDieser Artikel endet hier. Ich hoffe, er kann Ihnen helfen. Ich hoffe auch, dass Sie mehr Inhalt auf 123WORDPRESS.COM lesen können! Das könnte Sie auch interessieren:
|
<<: Beispielcode zur Implementierung einer DIV-Aufhängung mit reinem CSS (feste Position)
Wirkung: Erstellen Sie zunächst fünf Vue-Schnitts...
Das doppelte Absenden von Formularen ist das häuf...
MySQL ist ein relationales Datenbankverwaltungssy...
Inhaltsverzeichnis Hintergrund Kompilieren Sie gl...
Problembeschreibung 1. Datenbank der Sammelstelle...
Inhaltsverzeichnis Zusammenfassung Problembeschre...
Grundlagen In einer relationalen Datenbank entspr...
Inhaltsverzeichnis 1. JavaScript-Probleme 2. Vort...
Lösung Verzichten Sie auf die Linux-VM, die mit D...
In diesem Artikel wird der spezifische Code von j...
Vorwort Im Entwicklungsprozess ist das Definieren...
In diesem Artikel werden die Installations- und K...
Hintergrund Alle Unternehmenswebsites müssen das ...
Ich glaube, dass jeder MySQL aus verschiedenen Gr...
Die Zeit vergeht wie im Flug und in nur sechs Tag...