Heim > Web-Frontend > js-Tutorial > Wie kann ich Eigenschaftsnamen in JavaScript-Objektliteralen dynamisch zuweisen?

Wie kann ich Eigenschaftsnamen in JavaScript-Objektliteralen dynamisch zuweisen?

Susan Sarandon
Freigeben: 2024-12-23 04:20:22
Original
790 Leute haben es durchsucht

How Do I Dynamically Assign Property Names in JavaScript Object Literals?

Verstehen des Verhaltens von Objektliteralen in JavaScript

Bei der Arbeit mit Objektliteralen in JavaScript können Entwickler auf Situationen stoßen, in denen die dynamische Definition von Eigenschaftsnamen wünschenswert ist. Dies kann jedoch zu Verwirrung führen, wenn das beabsichtigte Verhalten nicht verstanden wird.

Betrachten Sie das bereitgestellte Beispiel:

<something>.stop().animate(
    { 'top' : 10 }, 10
);
Nach dem Login kopieren

In diesem Fall weist der Code erfolgreich die Eigenschaft „top“ zu Wert 10 innerhalb eines Objektliterals. Dies liegt daran, dass der Eigenschaftsname in einfache Anführungszeichen gesetzt wird, was eine Literalzeichenfolge als Eigenschaftsschlüssel angibt.

Im Gegensatz dazu, wenn eine Variable als Eigenschaftsname verwendet wird:

var thetop = 'top';
<something>.stop().animate(
    { thetop : 10 }, 10
);
Nach dem Login kopieren

Der Code schlägt fehl, weil JavaScript auf diese Weise dynamisch generierte Eigenschaftsnamen für Objektliterale nicht unterstützt. Vor ES5 bestand die einzige Möglichkeit, dies zu erreichen, darin, das Objektliteral manuell zu erstellen, indem der Wert einem variablen Eigenschaftsnamen zugewiesen wurde:

var thetop = "top";
var aniArgs = {};
aniArgs[thetop] = 10;
<something>.stop().animate(
    aniArgs, 10
);
Nach dem Login kopieren

Mit der Einführung von ES6 haben Entwickler jetzt jedoch Zugriff auf Computed Eigenschaftsnamen für Objektliterale. Mit dieser neuen Syntax können Eigenschaftsnamen dynamisch als in eckige Klammern eingeschlossene Ausdrücke angegeben werden:

var thetop = "top";
var obj = { [thetop]: 10 };

console.log(obj.top); // -> 10
Nach dem Login kopieren

Mit dieser Syntax können Entwickler Objektliterale mit dynamisch zugewiesenen Eigenschaftsnamen erstellen, ähnlich wie im Originalbeispiel mit der Literalzeichenfolge als Eigenschaftsschlüssel.

Das obige ist der detaillierte Inhalt vonWie kann ich Eigenschaftsnamen in JavaScript-Objektliteralen dynamisch zuweisen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage