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:
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>
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>
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!