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

Lösung für das Problem des Sitzungsverlusts bei Nginx

Bei der Verwendung von Nginx als Reverse-Proxy fü...

js regulärer Ausdruck Lookahead und Lookbehind und nicht erfassende Gruppierung

Inhaltsverzeichnis Kombinieren von Lookahead und ...

Fallstricke und Lösungen bei der MySQL-Zeitstempelvergleichsabfrage

Inhaltsverzeichnis Fallstricke bei Zeitstempelver...

Nginx-Signalsteuerung

Einführung in Nginx Nginx ist ein leistungsstarke...

Detaillierte Erläuterung des Watch-Listener-Beispiels in vue3.0

Inhaltsverzeichnis Vorwort Der Unterschied zwisch...

Docker-Compose-Installationsmethode für die YML-Dateikonfiguration

Inhaltsverzeichnis 1. Offline-Installation 2. Onl...

Einfaches Beispiel zum Hinzufügen und Entfernen von HTML-Knoten

Einfaches Beispiel für das Hinzufügen und Entfern...

Verwenden von JavaScript-Unterschieden zum Implementieren eines Vergleichstools

Vorwort Bei der Arbeit muss ich jede Woche die vo...

URL-Rewrite-Modul 2.1 URL-Rewrite-Modul – Regeln schreiben

Inhaltsverzeichnis Voraussetzungen Einrichten ein...

So erklären Sie TypeScript-Generika auf einfache Weise

Inhaltsverzeichnis Überblick Was sind Generika Sy...

HTML-Beispielcode zum Lesen und Anzeigen von Bildern in einem lokalen Ordner

Ein Zweck Wählen Sie auf der HTML-Seite einen lok...