Dynamischer Eigenschaftszugriff mit Variablen in JavaScript
In JavaScript kann der dynamische Zugriff auf Objekteigenschaften mithilfe von Variablen eine Herausforderung darstellen. Betrachten wir das folgende Szenario:
var myObj; myObj.prop = "exists"; var myProp = "p"+"r"+"o"+"p"; if(myObj.myProp){ alert("yes, i have that property"); };
In diesem Beispiel möchten wir prüfen, ob die prop-Eigenschaft im myObj-Objekt vorhanden ist. Die Bedingung myObj.myProp wird jedoch als undefiniert ausgewertet, da sie tatsächlich das Vorhandensein einer nicht vorhandenen Eigenschaft (myObj.myProp) überprüft.
Um dynamisch korrekt auf die Eigenschaft zuzugreifen, können wir die folgenden Techniken verwenden:
1. hasOwnProperty-Methode:
Die hasOwnProperty-Methode prüft, ob das Objekt eine bestimmte Eigenschaft in seiner eigenen Eigenschaftenliste hat (ausgenommen geerbte Eigenschaften).
var myProp = 'prop'; if(myObj.hasOwnProperty(myProp)){ alert("yes, i have that property"); }
2. in-Operator:
Der in-Operator prüft, ob das Objekt eine bestimmte Eigenschaft hat, einschließlich geerbter Eigenschaften.
var myProp = 'prop'; if(myProp in myObj){ alert("yes, i have that property"); }
3. Kurzschreibweise:
Wenn der Eigenschaftsname ein Zeichenfolgenliteral ist, können wir die Kurzschreibweise verwenden:
if('prop' in myObj){ alert("yes, i have that property"); }
Wichtiger Hinweis:
Das obige ist der detaillierte Inhalt vonWie greife ich mit Variablen in JavaScript dynamisch auf Objekteigenschaften zu?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!