Heim >Web-Frontend >js-Tutorial >Wie kann ich den Typnamen eines JavaScript-Objekts erhalten?
Den Namen eines Objekttyps abrufen
In JavaScript gibt es kein direktes Äquivalent zur Java-Methode class.getName() zum Abrufen Name des Typs eines Objekts. Zu diesem Zweck können jedoch verschiedene Ansätze verwendet werden.
Verwendung der Konstruktoreigenschaft
Die Konstruktoreigenschaft eines Objekts verweist auf seine Konstruktorfunktion. Bei den meisten Objekten verweist die Eigenschaft „Konstruktor“ auf die Konstruktorfunktion, die zum Erstellen des Objekts verwendet wurde.
var myArray = [1, 2, 3]; myArray.constructor == Array; // true
Diese Methode weist jedoch Einschränkungen auf:
Verwendung des Instanceof-Operators
Der Instanceof-Operator prüft, ob ein Objekt eine Instanz einer bestimmten Konstruktorfunktion ist.
myArray instanceof Array; // true myArray instanceof Object; // true
Diese Methode hat auch Einschränkungen:
Verwendung der Namenseigenschaft der Konstruktoreigenschaft
Ab IE9 kann die Eigenschaft „constructor.name“ eines Objekts verwendet werden, um den Namen des Konstruktors abzurufen Funktion.
myArray.constructor.name; // "Array"
Diese Methode ist jedoch in früheren Versionen von Internet Explorer nicht zuverlässig.
Verwenden von Object.prototype.toString
Die Die Methode Object.prototype.toString gibt eine Zeichenfolgendarstellung des Objekttyps zurück.
Object.prototype.toString.call('abc'); // "[object String]" Object.prototype.toString.call(/abc/); // "[object RegExp]" Object.prototype.toString.call([1, 2, 3]); // "[object Array]"
Diese Methode kann kann verwendet werden, um den Typnamen für alle integrierten Typen abzurufen. Es wird jedoch „Objekt“ für alle benutzerdefinierten Typen zurückgegeben.
Achtung
Es ist wichtig zu beachten, dass sich der Typ eines Objekts je nach Art ändern kann wird konstruiert. Wenn beispielsweise eine Funktion anonym definiert ist, wird ihre Konstruktoreigenschaft Anonymous zugewiesen.
Das obige ist der detaillierte Inhalt vonWie kann ich den Typnamen eines JavaScript-Objekts erhalten?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!