Heim >Web-Frontend >js-Tutorial >Wie überprüfen Sie, ob eine Eigenschaft in einem Javascript-Objekt mit einem dynamischen Eigenschaftsnamen vorhanden ist?

Wie überprüfen Sie, ob eine Eigenschaft in einem Javascript-Objekt mit einem dynamischen Eigenschaftsnamen vorhanden ist?

Mary-Kate Olsen
Mary-Kate OlsenOriginal
2024-10-29 11:09:29421Durchsuche

How do you Check if a Property Exists in a Javascript Object with a Dynamic Property Name?

Bestimmen der Existenz einer Objekteigenschaft mithilfe eines dynamischen Eigenschaftsnamens

Beim Umgang mit Objekten in JavaScript ist es häufig erforderlich zu überprüfen, ob eine bestimmte Eigenschaft vorhanden ist. Wenn der Eigenschaftsname jedoch in einer Variablen gespeichert ist, funktionieren herkömmliche Methoden möglicherweise nicht effektiv.

Im angegebenen Codeausschnitt versucht der Entwickler zu überprüfen, ob das myObj-Objekt eine Eigenschaft namens „prop“ hat, aber die Die Variable myProp ist mit einer Zeichenfolgenverkettung falsch definiert. Infolgedessen sucht der Code nach einer nicht vorhandenen Eigenschaft „myProp“.

Um dieses Problem zu beheben, können mehrere alternative Ansätze verwendet werden:

1. Verwendung von hasOwnProperty()

Die Methode hasOwnProperty() überprüft, ob die angegebene Eigenschaft direkt im Objekt definiert ist (nicht von seinem Prototyp geerbt).

<code class="js">var myProp = 'prop';
if(myObj.hasOwnProperty(myProp)){
    alert("yes, i have that property");
}</code>

2. Verwendung des in-Operators

Der in-Operator prüft, ob eine bestimmte Eigenschaft in einem Objekt vorhanden ist, unabhängig davon, ob sie direkt definiert oder geerbt ist.

<code class="js">var myProp = 'prop';
if(myProp in myObj){
    alert("yes, i have that property");
}</code>

3. Direkte Überprüfung des Eigenschaftsnamens

Wenn der Eigenschaftsname mit Sicherheit bekannt ist, kann er direkt überprüft werden, ohne dass eine Variable erforderlich ist.

<code class="js">if('prop' in myObj){
    alert("yes, i have that property");
}</code>

Hinweis: Die hasOwnProperty ()-Methode ignoriert geerbte Eigenschaften, während der in-Operator sie einschließt. Daher hängt die Wahl des Ansatzes davon ab, ob geerbte Eigenschaften für die durchgeführte Prüfung relevant sind.

Das obige ist der detaillierte Inhalt vonWie überprüfen Sie, ob eine Eigenschaft in einem Javascript-Objekt mit einem dynamischen Eigenschaftsnamen vorhanden ist?. 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