Heim >Web-Frontend >js-Tutorial >Wie kann ich den Typnamen eines JavaScript-Objekts erhalten?

Wie kann ich den Typnamen eines JavaScript-Objekts erhalten?

DDD
DDDOriginal
2024-12-12 22:50:11700Durchsuche

How Can I Get the Type Name of a JavaScript Object?

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:

  • Sie funktioniert möglicherweise nicht für Objekte erstellt mit Mehrfachvererbung.
  • Es funktioniert möglicherweise nicht über verschiedene Fensterobjekte hinweg (z. B. in iframes).

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:

  • Sie funktioniert nicht für Literalwerte (z. B. Zahlen, Zeichenfolgen).
  • Es funktioniert möglicherweise nicht über verschiedene Fensterobjekte hinweg.

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!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn