hasOwnProperty in JavaScript
-
Überprüfung von
hasOwnPropertyauf Objekte in JavaScript -
Prüfung von
hasOwnPropertyauf Objekte einer Klasse
Wir sehen oft ein Dilemma bezüglich der in-Konvention und der hasOwnProperty, aber beide funktionieren in einem bestimmten Fall unterschiedlich. Das Hauptkonzept ist, dass in für Objekte funktioniert, die geerbte Eigenschaften haben und true ergeben, während hasOwnProperty nur für Eigenschaften wahr zurückgibt, die nicht geerbt, sondern explizit definiert sind.
Hier wird nur auf die hasOwnProperty in JavaScript eingegangen.
Überprüfung von hasOwnProperty auf Objekte in JavaScript
In JavaScript sieht die Struktur zum Überprüfen, ob eine Eigenschaft definiert ist, wie folgt aus: objectName.hasOwnProprty(property). Dabei kann ein Objekt ein array oder ein key-value-Paar sein. Sie können den gerichteten Pfad überprüfen.
Verwendung von hasOwnProperty auf Array-Objekt in JavaScript
Arrays werden ab 0 indiziert und gehen bis zum letzten verfügbaren Element. Daher bevorzugen wir die Indexwerte zum Aufrufen der Eigenschaft eines Array-Objekts. Das folgende Beispiel gibt eine klare Vorstellung.
Code-Auszug:
var myObj = ['Liza', 'Kary', 'Blake'];
console.log(myObj.hasOwnProperty(2));
console.log(myObj.hasOwnProperty(3));
Ausgabe:

Verwendung von hasOwnProperty auf key-value-Pair-Objekten in JavaScript
In diesem Zusammenhang betrachten wir ein Dictionary, das Schlüsselwerte (string) und Eigenschaften (beliebiger Datentyp) haben wird. Gehen wir für das folgende Beispiel:
Code-Auszug:
var myObj = {
pet : "penguine",
age : 5,
}
console.log(myObj.hasOwnProperty("age"));
console.log(myObj.hasOwnProperty("color"));
Ausgabe:

Wie Sie sehen können, hat das Objekt myObj nur zwei Schlüssel – pet und age. Wenn wir nur diese beiden Eigenschaften mit hasOwnProperty aufrufen, sehen wir das Ergebnis der Konsole true. Ansonsten haben wir eine zufällige Eigenschaft color genannt, was false ergibt.
Prüfung von hasOwnProperty auf Objekte einer Klasse
JavaScript ES6 hat ein zusätzliches Feature von class, und die Verwendung von constructor ermöglicht die Definition einiger dynamischer Objekte. Nachdem Sie die Objekte deklariert haben, können Sie einfach auf sie zugreifen, indem Sie Ihren Wert für sie definieren. Die Demonstration löscht die Erklärung dieses Abschnitts. Außerdem erhalten Sie für jeden benutzerdefinierten Wert, wenn die Eigenschaft im Klassenkonstruktor vorhanden ist, die Antwort true; andernfalls false.
Code-Auszug:
class pet {
constructor(name, age) {
this.name = name;
this.age = age;
}
}
const pet1 = new pet('Izequel', 5);
console.log(pet1.hasOwnProperty('name'));
console.log(pet1.hasOwnProperty('color'));

