Heim >Web-Frontend >js-Tutorial >Methoden zum Zuweisen und Abrufen von Werten in einem JavaScript-Objekt

Methoden zum Zuweisen und Abrufen von Werten in einem JavaScript-Objekt

Susan Sarandon
Susan SarandonOriginal
2024-12-04 16:05:26250Durchsuche

Methods to assign and retrieve values in a JavaScript object

Einführung

Es gibt vier Möglichkeiten, wie einem Objekt Schlüssel und Werte zugewiesen werden können.

  1. Punktnotation
  2. Schreibweise in eckigen Klammern
  3. Object.defineProperty()-Methode
  4. Object.defineProperties()-Methode

Punktnotation

Die Punktnotation ist eine einfache und häufig verwendete Methode für den Zugriff auf Objekteigenschaften in JavaScript. Mithilfe der Punktnotation können Sie Eigenschaften erstellen und einem Objekt zuweisen. Mit diesem Ansatz können Sie Eigenschaften dynamisch definieren, nachdem das Objekt erstellt wurde.

let objectName = {};  // "object literal" syntax
objectName.someKey = someValue; // set property and value

const value = objectName.someKey; // retrive value

Profis

Lesbarkeit:

Leicht zu lesen und zu verstehen.

Beispiel: person.name ist einfacher zu interpretieren als person['name'].

Benutzerfreundlichkeit:

Einfache Syntax, die schnell geschrieben werden kann.

Statische Eigenschaftsnamen:

Ideal für den Zugriff auf Eigenschaften mit gültigen Bezeichnern (Buchstaben, Ziffern, Unterstriche und $).

Nachteile

Auf gültige Bezeichner beschränkt:

Schlägt fehl, wenn Eigenschaftsnamen Sonderzeichen oder Leerzeichen enthalten oder dynamisch sind.

Beispiel: person.first-name gibt einen Fehler aus; Verwenden Sie stattdessen Person["Vorname"].

Variablen können nicht verwendet werden:

Beispiel: Wenn der Eigenschaftsname in einer Variablen gespeichert ist, können Sie ihn nicht mit Punktnotation verwenden.

Notation in eckigen Klammern

Die eckige Klammernotation ermöglicht den dynamischen Zugriff auf oder die Bearbeitung von Objekteigenschaften mithilfe von Zeichenfolgen oder Variablen. Eckige Klammern sind flexibler als die Punktnotation, da sie jeden Eigenschaftsnamen oder jede Variable verwenden können. Allerdings sind sie etwas schwieriger zu schreiben.

Vorteile

Dynamischer Eigenschaftszugriff:

Ermöglicht Eigenschaftsnamen als Variablen oder Ausdrücke.

Beispiel: obj[propName] ist flexibel, wenn propName eine Variable ist.

Sonderzeichen und Leerzeichen:

Funktioniert mit Eigenschaftsnamen, die Sonderzeichen, Leerzeichen oder reservierte Schlüsselwörter enthalten.

Beispiel: obj["Vorname"] oder obj["Klasse"].

Flexibel in der Iteration:

Nützlich beim Durchlaufen von Eigenschaften in Objekten.

Nachteile

Weniger lesbar:

Schwerer zu lesen im Vergleich zur Punktnotation, insbesondere bei verschachtelten Eigenschaften.

Anfällig für Tippfehler:

Fehler in Eigenschaftsnamen werden während der Entwicklung möglicherweise nicht erkannt (z. B. obj["naem"]).

Ausführlich:

Erfordert mehr Eingabe und die Verwendung von Anführungszeichen für Zeichenfolgenschlüssel.

Object.defineProperty()-Methode

Die Methode Object.defineProperty() definiert eine neue Eigenschaft für ein Objekt oder aktualisiert eine vorhandene und gibt dann das Objekt zurück.

let objectName = {};  // "object literal" syntax
objectName.someKey = someValue; // set property and value

const value = objectName.someKey; // retrive value

Object.defineProperties()-Methode

Die Methode Object.defineProperties() definiert neue Eigenschaften oder ändert vorhandene Eigenschaften direkt an einem Objekt und gibt das Objekt zurück.

const user = {};

Object.defineProperty(user,  'firstName', {
  value: 'John',
  writable: true, // `false` is default
});

console.log('First name', user.firstName);

Das obige ist der detaillierte Inhalt vonMethoden zum Zuweisen und Abrufen von Werten in einem JavaScript-Objekt. 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