In JavaScript kann die Überprüfung der Anwesenheit einer Objekteigenschaft mithilfe einer Variablen eine häufige Aufgabe sein. Die direkte Verwendung der Variable als Eigenschaftsname führt jedoch zu undefinierten Ergebnissen.
Beispiel:
<code class="js">var myObj; myObj.prop = "exists"; var myProp = "p" + "r" + "o" + "p"; if (myObj.myProp) { alert("yes, i have that property"); }; // Undefined</code>
Um dies zu überwinden, muss man Methoden verwenden, die die Eigenschaft explizit überprüfen Existenz.
Lösungen:
Option 1: hasOwnProperty
<code class="js">var myProp = 'prop'; if (myObj.hasOwnProperty(myProp)) { alert("yes, i have that property"); }</code>
Option 2: im Operator ( prüft sowohl auf direkte als auch auf geerbte Eigenschaften)
<code class="js">var myProp = 'prop'; if (myProp in myObj) { alert("yes, i have that property"); }</code>
Option 3: Direkte Verwendung im Operator (prüft nur auf direkte Eigenschaften)
<code class="js">if ('prop' in myObj) { alert("yes, i have that property"); }</code>
Hinweis: hasOwnProperty überprüft keine geerbten Eigenschaften, während dies beim in-Operator der Fall ist.
Das obige ist der detaillierte Inhalt vonWie überprüfe ich mithilfe einer Variablen in JavaScript das Vorhandensein von Objekteigenschaften?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!