Rufen Sie den Klassennamen eines Objekts in JavaScript ab
Ein Konstruktor wird in der objektorientierten Programmierung automatisch innerhalb der Klasse erstellt, wenn wir eine Klasse definieren. Es ist in der Klasse vorhanden, aber nicht sichtbar. Es wird nur erstellt, wenn ein Programmierer es nicht explizit definiert. Dieser Konstruktor wird als Standardkonstruktor bezeichnet.
Wir sind daran interessiert, Konstruktoren zu verstehen, da die Konstruktoren denselben Namen wie der Klassenname haben. Daher ist es für uns einfach, den Klassennamen eines Objekts in JavaScript anhand seines Konstruktornamens abzurufen.
Es spielt keine Rolle, ob der Konstruktor ein Standardkonstruktor ist oder Sie ihn erstellen (der Programmierer); Der Name des Konstruktors ist immer derselbe wie sein Klassenname.
Ermitteln des Klassennamens eines Objekts mit der Funktion constructor
in JavaScript
Um ein Objekt einer Klasse zu erstellen, müssen wir zuerst seinen Konstruktor aufrufen. Nachdem wir den Konstruktor aufgerufen haben, speichern wir seine Referenz in einer Variablen, damit wir später mit diesem Objekt machen können, was wir wollen. Lassen Sie uns dies anhand eines Beispiels verstehen.
Hier haben wir eine leere Klasse namens Person
. Wir erstellen ein Objekt dieser Klasse mit dem Schlüsselwort new
und nennen seinen Standardkonstruktor Person()
. Dann speichern wir es in einer Variablen namens obj
.
Nachdem wir nun ein Objekt einer Klasse Person
erstellt haben, wollen wir den Klassennamen des Objekts mit Hilfe seines Konstruktors ermitteln.
Um den Namen eines Konstruktors zu erhalten, können wir eine eingebaute Funktion namens constructor
verwenden, die in JavaScript vorhanden ist. Es wird eine Funktion zurückgegeben. Um den spezifischen Klassennamen zu erhalten, müssen wir die Eigenschaft name
der Funktion constructor
verwenden.
Dies wird im folgenden Code-Snippet gezeigt.
class Person {}
var obj = new Person();
console.log(obj.constructor.name);
Ausgabe:
Person
Sie können auch eine Funktion innerhalb einer Klasse erstellen, die die obige constructor
-Funktion zurückgibt. Und nachdem Sie ein Objekt dieser Klasse erstellt haben, können Sie diese Funktion beliebig oft aufrufen und den Klassennamen dieses Objekts abrufen.
Dies wird im folgenden Code-Snippet gezeigt.
class Person {
getClassName() {
return this.constructor.name;
}
}
Hier müssen wir ein Schlüsselwort this
verwenden, das auf das aktuelle Objekt verweist, für das die Methode getClassName()
aufgerufen wird, und seinen Klassennamen zurückgibt.
Die einzige Sorge dabei ist, dass sich der Name des Konstruktors nach der Verkleinerung ändert, wenn Sie das JavaScript verkleinern. Und wenn Sie die Funktion getClassName
aufgerufen haben, gibt sie einen anderen Klassennamen zurück, der nach der Minimierung vorhanden sein wird, und nicht Person
.
Außerdem wird die Eigenschaft name
unter IE9 nicht unterstützt. Dies ist kein großes Problem, da die meisten Benutzer moderne Browser wie Chrome und Firefox verwenden.
Sahil is a full-stack developer who loves to build software. He likes to share his knowledge by writing technical articles and helping clients by working with them as freelance software engineer and technical writer on Upwork.
LinkedInVerwandter Artikel - JavaScript Object
- Objekte aus einem Array in JavaScript suchen
- Holen Sie sich den Wert des Objekts durch eine Referenz auf den Schlüssel
- JavaScript-Objekt zerstören
- Objekt im Array nach Eigenschaftswert in JavaScript suchen
- Objekte in JavaScript drucken
- Sortieren Array von Objekten nach einzelnen Schlüssel mit Datum Wert