Klassenname in JavaScript abrufen
-
Verwenden Sie den Operator
instanceof, um den Klassennamen in JavaScript zu erhalten -
Verwenden Sie die Eigenschaft
name, um den Klassennamen in JavaScript zu erhalten -
Verwenden Sie den Operator
typeof, um den Klassennamen in JavaScript zu erhalten -
Verwenden Sie die Funktion
isPrototypeOf(), um den Klassennamen in JavaScript zu erhalten
In JavaScript müssen Sie möglicherweise von Zeit zu Zeit den Namen einer Klasse abrufen. Dies ist nützlich, wenn der Klassenname als Bezeichner oder für Debug-Nachrichten verwendet wird.
In JavaScript gibt es keine Entsprechung zur Java-Funktion getClass(), da Java eine klassenbasierte Sprache ist, während JavaScript eine prototypbasierte Sprache ist.
In diesem Tutorial erhalten wir den Klassennamen in JavaScript.
Verwenden Sie den Operator instanceof, um den Klassennamen in JavaScript zu erhalten
Der Operator instanceof gibt den Klassennamen nicht direkt an, kann aber prüfen, ob die Prototypeigenschaft des Konstruktors irgendwo in der Prototypkette des Objekts vorkommt.
Zum Beispiel,
function Test() {}
let test = new Test();
console.log(test instanceof Test);
Ausgabe:
true
Im obigen Beispiel gehört test zu Test und gibt deshalb true zurück.
Verwenden Sie die Eigenschaft name, um den Klassennamen in JavaScript zu erhalten
Wir können die Eigenschaft name des Konstruktors des Objekts verwenden, um den Klassennamen in JavaScript zu kennen. Auf diese Weise erhalten wir den Namen der Klasse, durch die wir das Objekt instanziiert haben.
Zum Beispiel,
function Test() {}
let test = new Test();
console.log(test.constructor.name);
console.log(Test.name);
Ausgabe:
Test
Test
Verwenden Sie den Operator typeof, um den Klassennamen in JavaScript zu erhalten
Der Operator typeof gibt einen String zurück, der den Typ des Operanden angibt.
Zum Beispiel,
function Test() {}
let test = new Test();
console.log(typeof Test);
console.log(typeof test);
Ausgabe:
function
object
Verwenden Sie die Funktion isPrototypeOf(), um den Klassennamen in JavaScript zu erhalten
Die Funktion isPrototypeOf() bestimmt, ob ein Objekt der Prototyp eines anderen Objekts ist. Zuerst müssen wir die Eigenschaft prototype des Objekts verwenden.
Siehe folgendes Beispiel,
function Test() {}
let test = new Test();
console.log(Test.prototype.isPrototypeOf(test));
Ausgabe:
true