So prüfen Sie effektiv das Vorhandensein von Objekteigenschaften mithilfe einer Eigenschaftsnamenvariablen
Bei der Arbeit mit JavaScript-Objekten ist es wichtig zu bestimmen, ob eine bestimmte Eigenschaft vorhanden ist . Was aber, wenn Sie eine Variable verwenden müssen, um den Zieleigenschaftsnamen zu speichern?
Im bereitgestellten Beispiel:
<code class="js">var myObj; myObj.prop = "exists"; var myProp = "p"+"r"+"o"+"p"; if(myObj.myProp){ alert("yes, i have that property"); };</code>
Der Code versucht, das Vorhandensein einer Eigenschaft mit dem Namen „ zu überprüfen. myprop‘, das nicht existiert. Dies liegt daran, dass JavaScript den Ausdruck als „myObj.myprop“ statt als „myObj.prop“ auswertet.
Um diese Logik erfolgreich zu implementieren, können Sie mehrere Ansätze verwenden:
Verwenden von hasOwnProperty
<code class="js">var myProp = 'prop'; if(myObj.hasOwnProperty(myProp)){ alert("yes, i have that property"); }</code>
hasOwnProperty überprüft, ob das Objekt eine bestimmte Eigenschaft besitzt, mit Ausnahme geerbter Eigenschaften.
Verwendung im Operator (ES5)
<code class="js">var myProp = 'prop'; if(myProp in myObj){ alert("yes, i have that property"); }</code>
in-Operator untersucht die aufzählbaren Eigenschaften eines Objekts, einschließlich eigener und geerbter Eigenschaften.
Verwendung von eckigen Klammern (ES6)
<code class="js">if('prop' in myObj){ alert("yes, i have that property"); }</code>
In ES6 eckige Klammern kann austauschbar mit dem in-Operator zur Überprüfung der Eigenschaftsexistenz verwendet werden.
Das obige ist der detaillierte Inhalt vonWie überprüfe ich das Vorhandensein einer Eigenschaft mithilfe eines variablen Eigenschaftsnamens in JavaScript-Objekten?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!