Die JS-Methode hasOwnProperty() erkennt, ob eine Eigenschaft die eigene Eigenschaft eines Objekts ist.

Die JS-Methode hasOwnProperty() erkennt, ob eine Eigenschaft die eigene Eigenschaft eines Objekts ist.

Die JavaScript-Methode hasOwnProperty() ist die Prototypmethode (auch Instanzmethode genannt) von Object. Sie ist für das Object.prototype-Objekt definiert. Alle Instanzobjekte von Object erben die Methode hasOwnProperty().

Mit der Methode hasOwnProperty() wird ermittelt, ob eine Eigenschaft eine eigene Eigenschaft eines Objekts ist und nicht von der Prototypenkette geerbt wurde. Gibt „true“ zurück, wenn es sich bei der Eigenschaft um eine Eigentumseigenschaft handelt, andernfalls „false“. Mit anderen Worten, die Methode hasOwnProperty() erkennt nicht die Prototypkette des Objekts, sondern nur das aktuelle Objekt selbst und gibt nur dann „true“ zurück, wenn die Eigenschaft im aktuellen Objekt selbst vorhanden ist.

Beispielsweise stellt im folgenden benutzerdefinierten Typ this.name die eigene Eigenschaft des Objekts dar, während die Namenseigenschaft im Prototypobjekt die geerbte Eigenschaft ist.

function F() { //Benutzerdefinierter Datentyp this.name = "eigene Eigenschaft";
}
F.prototype.name = "Geerbte Eigenschaften";

Die Syntax von hasOwnProperty() lautet wie folgt:

Objekt.hasOwnProperty(Eigenschaftsname);

Parameterbeschreibung: Der Parameter propertyName gibt den Namen der zu erkennenden Eigenschaft an.

Rückgabewert: Gibt einen Booleschen Wert zurück. Gibt „true“ zurück, wenn „propertyName“ eine eigene Eigenschaft ist, andernfalls „false“.

Beispiel 1

Für den oben genannten benutzerdefinierten Typ können Sie das Objekt instanziieren und dann bestimmen, um welchen Typ es sich bei dem vom aktuellen Objekt aufgerufenen Eigenschaftsnamen handelt.

var f = new F(); //Objekt instanziieren console.log(f.hasOwnProperty("name")); //Gibt „true“ zurück, was bedeutet, dass der aktuell aufgerufene Name eine eigene Eigenschaft ist console.log(f.name); //Gibt die Zeichenfolge „Eigene Eigenschaft“ zurück

Alle Prototypeigenschaften der Konstruktorfunktion (Eigenschaften, die im Prototypobjekt enthalten sind) sind geerbte Eigenschaften, und beim Test mit der Methode hasOwnProperty() wird „false“ zurückgegeben. Für das Prototypobjekt selbst sind diese Prototypeigenschaften jedoch die eigenen Eigenschaften des Prototypobjekts, sodass der Rückgabewert wieder „true“ ist.

Beispiel 2

Im folgenden Beispiel wird gezeigt, dass die Methode toString() eine geerbte Eigenschaft für das Date-Objekt ist, für das Prototypobjekt des Date-Konstruktors jedoch eine eigene Eigenschaft darstellt.

var d = Datum;
console.log(d.hasOwnProperty("toString")); //Gibt „false“ zurück, was darauf hinweist, dass toString() die eigene Eigenschaft von Date ist. var d = Date.prototype;
console.log(d.hasOwnProperty("toString")); //Gibt „true“ zurück, was bedeutet, dass toString() eine Date.prototype-Eigenschaft ist.

Die Methode hasOwnProperty() kann nur feststellen, ob das angegebene Objekt eine Eigenschaft mit dem angegebenen Namen enthält. Sie kann nicht prüfen, ob eine Eigenschaft in der Objektprototypenkette enthalten ist. Daher müssen die Eigenschaften, die erkannt werden können, Objektmitglieder sein.

Beispiel 3

Das folgende Beispiel demonstriert die Bandbreite der Eigenschaften, die von der Methode hasOwnProperty() erkannt werden können.

var o = { //Objektliteral o1 : { //Kindobjektliteral o2 : { //Name des Enkelobjektliterals : 1 //Eigenschaft des Enkelobjektliterals}
  }
};
console.log(o.hasOwnProperty("o1")); //Gibt true zurück und zeigt damit an, dass o1 die eigene Eigenschaft von o ist console.log(o.hasOwnProperty("o2")); //Gibt false zurück und zeigt damit an, dass o2 nicht die eigene Eigenschaft von o ist console.log(o.o1.hasOwnProperty("o2")); //Gibt true zurück und zeigt damit an, dass o2 die eigene Eigenschaft von o1 ist console.log(o.o1.hasOwnProperty("name")); //Gibt false zurück und zeigt damit an, dass name nicht die eigene Eigenschaft von o1 ist console.log(o.o1.hasOwnProperty("name")); //Gibt true zurück und zeigt damit an, dass name nicht die eigene Eigenschaft von o2 ist

Damit ist dieser Artikel über die JS-Methode hasOwnProperty() zum Erkennen, ob eine Eigenschaft die eigene Eigenschaft eines Objekts ist, abgeschlossen. Weitere verwandte Inhalte zu JS hasOwnProperty finden Sie in den vorherigen Artikeln von 123WORDPRESS.COM oder in den folgenden verwandten Artikeln. Ich hoffe, dass jeder 123WORDPRESS.COM in Zukunft unterstützen wird!

Das könnte Sie auch interessieren:
  • Detaillierte Erläuterung der Idee zur Implementierung dynamischer Spalten in AngularJS-Loop-Objekteigenschaften
  • JavaScript entfernt unnötige Eigenschaften eines Objekts
  • Wenn die Springboot-Post-Schnittstelle JSON akzeptiert und es in ein Objekt konvertiert wird, sind alle Eigenschaften null.
  • Mehrere Möglichkeiten zum einfachen Durchlaufen von Objekteigenschaften in JS
  • So löschen Sie eine Eigenschaft eines Objekts in JavaScript
  • Verwendung der hasOwnProperty-Methode des js-Attributobjekts
  • Analysieren der Eigenschaften und Methoden von JavaScript-Datumsobjekten anhand von Beispielen
  • Detaillierte Erläuterung des dynamischen Hinzufügens, Löschens, Änderns und Abfragens von Eigenschaften bei der Konvertierung von Java-Objekten nach JSON
  • Beim Konvertieren eines Objekts in JSON ignoriert Java Jackson eine Eigenschaftsoperation des Unterobjekts
  • Drei Eigenschaften von Javascript-Objekten

<<:  Eine einfache Methode zum Implementieren einer geplanten Sicherung einer MySQL-Datenbank unter Linux

>>:  MySQL aktualisiert ein Feld in einer Tabelle, sodass es dem Wert eines Felds in einer anderen Tabelle entspricht.

Artikel empfehlen

Beispiel für handschriftliches Vue2.0-Daten-Hijacking

Inhaltsverzeichnis 1: Webpack erstellen 2. Datend...

Detaillierte Erläuterung des Zahlungsfunktionscodes des Vue-Projekts

1. Alipay-Methode: Alipay-Methode: Klicken Sie zu...

Lösung für zu große Mysql-Binlog-Protokolldateien

Inhaltsverzeichnis 1. Verwandte Binlog-Konfigurat...

HTML-Tags: Sub-Tag und Sup-Tag

Heute stelle ich zwei HTML-Tags vor, die ich nich...

Beispielcode zum Festlegen des Beschriftungsstils mithilfe des CSS-Selektors

CSS-Selektoren Durch Festlegen des Stils für das ...

So löschen Sie Junk-Dateien elegant in Linux

Ich frage mich, ob Sie wie ich ein Programmierer ...

Detaillierte Erklärung von :key in VUE v-for

Wenn der Schlüssel nicht zum v-for-Tag hinzugefüg...

Detaillierte Erklärung der Truncate-Verwendung in MySQL

Vorwort: Wenn wir eine Tabelle löschen möchten, v...

Detaillierter Vergleich von Ember.js und Vue.js

Inhaltsverzeichnis Überblick Warum ein Framework ...