Heim >Web-Frontend >js-Tutorial >Wie kann ich bedingte Objektmitglieder in JavaScript effizient hinzufügen?

Wie kann ich bedingte Objektmitglieder in JavaScript effizient hinzufügen?

DDD
DDDOriginal
2024-12-05 12:28:09454Durchsuche

How Can I Efficiently Add Conditional Object Members in JavaScript?

Bedingtes Hinzufügen von Objektmitgliedern in JavaScript

In JavaScript umfasst die gängige Praxis zum bedingten Hinzufügen eines Mitglieds zu einem Objekt eine if-else-Anweisung :

var a = {};
if (someCondition)
    a.b = 5;

Obwohl diese Methode funktioniert, kann sie als weniger idiomatisch angesehen werden. Um eine präzisere und flexiblere Lösung zu erreichen, können wir alternative Ansätze erkunden.

Ein Versuch besteht darin, den ternären Operator innerhalb der Objektdeklaration zu verwenden:

a = {
    b: (someCondition? 5 : undefined)
};

Dieser Ansatz führt jedoch zu einem Objekt, bei dem b vorhanden ist, aber einen undefinierten Wert hat.

Für einen allgemeinen Fall mit mehreren bedingten Elementen können wir einen ausgefeilteren Ansatz verwenden, der den Spread-Operator und die logische UND-Kurzschaltung verwendet Auswertung:

const a = {
   ...(someCondition && {b: 5})
}

In dieser Syntax entpackt der Spread-Operator das Objekt in den Klammern und fügt es zu einer Bedingung hinzu, wenn someCondition wahr ist. Der logische UND-Operator (&&) stellt sicher, dass das Objekt nur hinzugefügt wird, wenn someCondition wahr ist, und die Kurzschlussauswertung verhindert die Auswertung des Ausdrucks {b: 5}, wenn someCondition falsch ist.

Dieser Ansatz bietet a Saubere und effiziente Möglichkeit, einem Objekt in JavaScript Mitglieder bedingt hinzuzufügen.

Das obige ist der detaillierte Inhalt vonWie kann ich bedingte Objektmitglieder in JavaScript effizient hinzufügen?. 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