Heim  >  Artikel  >  Web-Frontend  >  Wie überprüfe ich das Vorhandensein einer Eigenschaft mithilfe eines variablen Eigenschaftsnamens in JavaScript-Objekten?

Wie überprüfe ich das Vorhandensein einer Eigenschaft mithilfe eines variablen Eigenschaftsnamens in JavaScript-Objekten?

Barbara Streisand
Barbara StreisandOriginal
2024-11-01 11:07:02154Durchsuche

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

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!

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