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

Ein vollständiges Tutorial zur Verwendung der Axios-Kapselung in Vue

Vorwort Heutzutage wird in Projekten häufig die A...

Detaillierte Erklärung der Linux-Befehle sort, uniq, tr tools

Sortierwerkzeug Der Linux-Befehl „sort“ wird zum ...

Shell-Skript zur Überwachung des MySQL-Master-Slave-Status

Geben Sie ein Shell-Skript unter Linux frei, um d...

jQuery implementiert die Drop-Down-Box zur Auswahl des Wohnortes

Der spezifische Code für die Verwendung von jQuer...

So entfernen Sie „Enter“, „Senden“ und „Enter != Senden“ aus dem Formular

Um das Problem „Eingeben != Absenden“ zu implement...

Eine kurze Erläuterung der Schriftarteinstellungen in Webseiten

Das Festlegen der Schriftart für die gesamte Site...

Zusammenfassung und Praxis des Javascript-Prototyp-Kettendiagramms

Inhaltsverzeichnis Prototypenkette Wir können ein...

Sechs merkwürdige und nützliche Dinge über JavaScript

Inhaltsverzeichnis 1. Dekonstruktionstipps 2. Dig...

MySQL-Speicherung räumlicher Daten und Funktionen

Inhaltsverzeichnis 1. Datentyp 1. Was sind MySQL-...