Heim  >  Artikel  >  Web-Frontend  >  Wie überprüfe ich mithilfe einer Variablen in JavaScript das Vorhandensein von Objekteigenschaften?

Wie überprüfe ich mithilfe einer Variablen in JavaScript das Vorhandensein von Objekteigenschaften?

DDD
DDDOriginal
2024-10-31 18:35:29938Durchsuche

How to Check for Object Property Existence Using a Variable in JavaScript?

Überprüfen der Existenz einer Objekteigenschaft mit einer Variablen

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!

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