Heim >Web-Frontend >js-Tutorial >Destrukturierung von JavaScript-Objekten

Destrukturierung von JavaScript-Objekten

Mary-Kate Olsen
Mary-Kate OlsenOriginal
2024-12-16 06:52:11631Durchsuche

JavaScript Object Destructuring

Objekte zerstören

Wie das Destrukturieren von Arrays hilft Ihnen auch das Destrukturieren von Objekten und macht Ihren Code sauberer und besser, aber es unterscheidet sich vom Destrukturieren von Arrays. Hier erfahren Sie, wie es geht:

  • Zuerst, für die gesamte Erklärung, die wir dieses Objekt benötigen, habe ich eine SpongeBob-Analogie für das Objekt verwendet ??, also schauen Sie es sich an und analysieren Sie es ein wenig:
let heightInCm = 4;
const obj = {
  personName: 'spongeBob',
  personAge: 37,
  personAddress: '124 Conch Street, Bikini Bottom, Pacific Ocean',
  heightInCm: 10,
  personHobbies: [
    'Jellyfishing',
    'Cooking Krabby Patties',
    'Blowing Bubbles',
    'Karate',
  ],
  home: {
    type: 'pineapple',
    location: 'bikini bottom',
    details: {
      rooms: 3,
      uniqueFeature: "it's underwater and shaped like a pineapple!",
    },
  },
};

  • Jetzt zerstören wir zwei Eigenschaften aus dem Objekt:
const { personName, personAge } = obj;
console.log(personName, personAge); // spongeBob 37
  • Wie Sie gesehen haben, müssen Sie zum Zerstören eines Objekts {geschweifte Klammern} verwenden und dann darin Variablennamen schreiben, die genau mit den Eigenschaftsnamen übereinstimmen, die wir im Objekt abrufen möchten.

*Sie können Variablennamen auch von den Eigenschaftsnamen unterscheiden, indem Sie einfach den neuen Variablennamen nach einem Doppelpunkt einfügen:

const { personName: name, personAge: age } = obj;
console.log(name, age); // spongeBob 37
  • Wie Sie sehen können, haben wir personName in name und personAge in age geändert.

*Standardwerte:

  • Wir können auch Standardwerte festlegen, falls wir versuchen, auf eine Eigenschaft zuzugreifen, die im Objekt nicht vorhanden ist, Beispiel:
const { DriversLicense = ['no'] } = obj;
console.log(DriversLicense);  // ['no']
// DriversLicense does not exist in obj, so the default value will be used.

* Variablen mutieren und gleichzeitig Objekte zerstören:

({ heightInCm } = obj);
console.log(heightInCm); // 10

  • Wenn Sie in diesem Beispiel zurückblicken, werden Sie feststellen, dass heightInCm = 4 außerhalb des Objekts ist und wir den Wert innerhalb des Objekts dem heightInCm außerhalb zuweisen wollten, also haben wir es wie eine normale Destrukturierung durchgeführt, ABER JavaScript erwartet ein Codeblock, wenn mit { } außerhalb einer Funktion begonnen wird, daher schließen wir die Anweisung in Klammern ein, um sie gültig zu machen.

*Destrukturierung verschachtelter Objekte:

// firstway:  Extracting the Entire Nested Object 

const { details } = obj.home;
console.log(details); // { rooms: 3, uniqueFeature: "it's underwater and shaped like a pineapple"


// second way: Extracting Specific Properties
const {
  home: { details }} = obj;

console.log(details); // {rooms: 3, uniqueFeature: "it's underwater and shaped like a pineapple"


// third way
const {details: { rooms, uniqueFeature }} = obj.home;

console.log(rooms, uniqueFeature); // 3 "it's underwater and shaped like a pineapple!"
  • Am besten für Klarheit: Der erste Weg kann besser sein, wenn Sie mit größeren Objekten arbeiten und es vorziehen, die Übersichtlichkeit zu wahren, indem Sie zuerst ein ganzes Objekt extrahieren.
  • Am besten für Effizienz: Der dritte Weg ist oft der beste, wenn Sie nur an bestimmten Eigenschaften eines tief verschachtelten Objekts interessiert sind. Es ist prägnant und vermeidet die Erstellung unnötiger Variablen.

*Vielen Dank fürs Lesen, ich hoffe, Sie verstehen alles. Wenn Sie Fragen haben, können Sie diese gerne stellen ?

Das obige ist der detaillierte Inhalt vonDestrukturierung von JavaScript-Objekten. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn