Verwendung der hasOwnProperty-Methode des js-Attributobjekts

Verwendung der hasOwnProperty-Methode des js-Attributobjekts

Die Methode hasOwnProperty() des Objekts gibt einen Booleschen Wert zurück, der angibt, ob das Objekt eine bestimmte eigene (nicht geerbte) Eigenschaft enthält.

Ermitteln Sie, ob das Attribut vorhanden ist

var o = neues Objekt();
o.prop = "existiert";

Funktion changeO() {
 o.neueprop = o.prop;
 o.prop löschen;
}

o.hasOwnProperty('prop'); // wahr
ändernO();
o.hasOwnProperty('prop'); // falsch

Eigene Attribute und geerbte Attribute bestimmen

Funktion foo() {
 dieser.name = "foo"
 dies.sayHi = Funktion () {
  console.log('Sag Hallo')
 }
}

foo.prototype.sayGoodBy = Funktion () {
 console.log('Sag Auf Wiedersehen')
}

lass myPro = neues foo()

console.log(myPro.name) // foo
console.log(myPro.hasOwnProperty('name')) // wahr
console.log(myPro.hasOwnProperty('toString')) // falsch
console.log(myPro.hasOwnProperty('hasOwnProperty')) // fehlgeschlagen
console.log(myPro.hasOwnProperty('sayHi')) // wahr
console.log(myPro.hasOwnProperty('sayGoodBy')) // falsch
console.log('sayGoodBy' in myPro) // wahr

Iterieren Sie über alle Eigenschaften eines Objekts

Beim Betrachten von Open-Source-Projekten sieht man oft Quellcode, der dem folgenden ähnelt. Die for...in-Schleife zählt alle Eigenschaften des Objekts auf und verwendet dann die Methode hasOwnProperty(), um geerbte Eigenschaften zu ignorieren.

var buz = {
  Nebel: ‚Stapel‘
};

für (Var-Name in Buz) {
  wenn (buz.hasOwnProperty(name)) {
    alert("das ist definitiv Nebel (" + name + "). Wert: " + buz[name]);
  }
  anders {
    alert(name); // toString oder etwas anderes
  }
}

Beachten Sie „hasOwnProperty“ als Eigenschaftsnamen

JavaScript schützt den Eigenschaftsnamen hasOwnProperty nicht. Wenn es also ein Objekt mit diesem Eigenschaftsnamen geben könnte, ist es notwendig, eine erweiterte Methode hasOwnProperty zu verwenden, um das richtige Ergebnis zu erhalten:

var foo = {
  hatEigeneEigenschaft: function() {
    gibt false zurück;
  },
  Bar: „Hier sind Drachen“
};

foo.hasOwnProperty('bar'); // gibt immer false zurück

// Wenn Sie diesbezüglich Bedenken haben, können Sie die echte Methode hasOwnProperty direkt in der Prototypenkette verwenden. // Verwenden Sie die Methode „hasOwnProperty“ eines anderen Objekts und rufen Sie auf
({}).hasOwnProperty.call(foo, 'bar'); // wahr

// Sie können die Eigenschaft hasOwnProperty auch für den Objektprototyp verwenden. Object.prototype.hasOwnProperty.call(foo, 'bar'); // true

Referenzlinks

Dies ist das Ende dieses Artikels über die Verwendung der hasOwnProperty-Methode von js-Eigenschaftsobjekten. Weitere relevante js-hasOwnProperty-Inhalte finden Sie in früheren Artikeln auf 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
  • Die JS-Methode hasOwnProperty() erkennt, ob eine Eigenschaft die eigene Eigenschaft eines Objekts ist.
  • 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

<<:  So erstellen Sie LVM für das XFS-Dateisystem in Ubuntu

>>:  Detaillierte Erläuterung der Konfigurationspraxis für die MySQL-Master-Slave-Synchronisierung

Artikel empfehlen

5 MySQL-GUI-Tools, die Ihnen bei der Datenbankverwaltung empfohlen werden

Es gibt viele Datenbankverwaltungstools für MySQL...

Detaillierte Erläuterung des Überwachungsmethodenfalls von Vue

Überwachungsmethode in Vue betrachten Beachten Na...

Eine detaillierte Einführung in for/of, for/in in JavaScript

Inhaltsverzeichnis In JavaScript gibt es mehrere ...

Beispielcode für horizontalen Linienstil „hr“

Code kopieren Der Code lautet wie folgt: <hr S...

Node-Skript realisiert automatische Anmelde- und Lotteriefunktion

Inhaltsverzeichnis 1. Einleitung 2. Vorbereitung ...

Analyse der Verwendung des Linux-Schwachstellen-Scan-Tools lynis

Vorwort: Lynis ist ein Sicherheitsprüfungs- und H...

Detaillierte Erklärung zum Anzeigen der Anzahl der MySQL-Server-Threads

In diesem Artikel wird anhand eines Beispiels bes...

JS implementiert das Schere-Stein-Papier-Spiel

In diesem Artikelbeispiel wird der spezifische JS...

Analyse der MySQL-Transaktionsmerkmale und Ebenenprinzipien

1. Was ist eine Transaktion? Eine Datenbanktransa...

Hast du genau verstanden Schlagworte Definition Verwendung

Vorwort : Heute wurde ich gefragt: „Haben Sie das ...