Node.js ist eine sehr beliebte Backend-Programmiersprache, die zum Schreiben von Webanwendungen, Webservern, Befehlszeilenanwendungen usw. verwendet werden kann. In Node.js müssen wir häufig einige seiner Eigenschaften oder Methoden durch Analyse des übergebenen Objekts ermitteln, daher ist es auch sehr wichtig, den Objektnamen zu ermitteln. Als Nächstes werden in diesem Artikel verschiedene Methoden zum Abrufen des Objektnamens vorgestellt.
In JavaScript können Sie das Schlüsselwort „typeof“ verwenden, um den Typ einer Variablen abzurufen, und Objekte sind keine Ausnahme. Mit dem Operator „typeof“ können wir feststellen, ob es sich bei einem Objekt um einen Objekttyp handelt. Wenn ja, können wir seine toString-Methode verwenden, um den Namen des Objekts abzurufen.
var obj = {name:'Node.js'}; console.log(typeof obj); // 输出 "object" console.log(obj.toString()); // 输出 "[object Object]"
Wie aus dem obigen Code ersichtlich ist, wird der Operator „typeof“ verwendet, um zu bestimmen, dass der Typ von obj „obj“ ist. Der Klassenname von obj ist „Object“, daher ist das Ausgabeergebnis „[object Object]“.
Zusätzlich zur direkten Verwendung des Schlüsselworts „typeof“ zur Bestimmung des Objekttyps können wir den Prozess des Erhaltens des Objektnamens auch durch Umschließen einer Funktionsebene kapseln, um den Code lesbarer und prägnanter zu machen.
function getObjectName(obj) { return Object.prototype.toString.call(obj).slice(8, -1); } var obj = {name:'Node.js'}; console.log(getObjectName(obj)); //输出 "Object"
Die obige getObjectName-Funktion kapselt den Prozess des Abrufens des Objektnamens. Wir übergeben ihm zunächst den Klassennamen, zu dem obj gehört, über Object.prototype.toString.call (obj). Klassenname über die Slice-Methode. Der Teilstring des Strings ist der gewünschte Objektname.
In JavaScript verfügt jede Funktion über ein Konstruktorattribut, über das wir den Konstruktor der Funktion abrufen können, sodass wir den Namen des Objekts über das Konstruktorattribut des Objekts abrufen können. Hier ist ein Beispiel:
function Person(name, age) { this.name = name; this.age = age; } var p = new Person('Tom', 18); console.log(p.constructor.name); // 输出 "Person"
Im obigen Code definieren wir eine Person-Funktion und erstellen dann ein Objekt p über das Schlüsselwort new. Dann können wir den Konstruktornamen des Objekts über p.constructor.name abrufen. Person".
Es ist sehr einfach, das Konstruktorattribut zu verwenden, um den Objektnamen abzurufen. Beachten Sie jedoch, dass diese Methode nur auf Objekte anwendbar ist, die über den Konstruktor erstellt wurden, und nicht für allgemeine Objekte.
Die Methode Object.keys() kann den Namen der eigenen Attribute eines Objekts abrufen. Wenn wir den Attributnamen eines Objekts bereits kennen, können wir den Attributnamen des Objekts abrufen über den Attributnamen den Wert des Attributs ermitteln und so den Objektnamen ermitteln. Zum Beispiel:
var obj = { name: "Tom", age: 18 }; var propName = Object.keys(obj)[0]; console.log(propName); // 输出 "name" console.log(obj[propName]); // 输出 "Tom"
Im obigen Code verwenden wir zuerst die Methode Object.keys(), um das Attributnamen-Array des obj-Objekts abzurufen, und dann verwenden wir den Array-Index, um den Namen des ersten Attributs abzurufen (d. h. „ name"). Verwenden Sie dann obj["name"], um den Wert des Attributs (z. B. "Tom") abzurufen.
Es ist zu beachten, dass diese Methode nur anwendbar ist, wenn das Objekt nur ein Attribut hat. Wenn das Objekt mehrere Attribute hat, kann der Objektname nicht genau ermittelt werden.
Die Methode Object.prototype.toString() kann eine Zeichenfolgendarstellung eines Objekts zurückgeben. Die spezifische Methode ähnelt der Art und Weise, wie der Operator typeof den Objektnamen erhält. Wir können es auch verwenden, um den Namen eines Objekts zu ermitteln.
var obj = {name: "Node.js"}; console.log(Object.prototype.toString.call(obj)); // 输出 "[object Object]"
Im obigen Code erhalten wir die Zeichenfolgendarstellung des Objekts über Object.prototype.toString.call(obj) und können dann den Namen des Objekts aus der Zeichenfolge analysieren.
Es ist zu beachten, dass diese Methode auch nur anwendbar ist, wenn das Objekt nur ein Attribut hat.
Das obige ist der detaillierte Inhalt vonSo erhalten Sie den Objektnamen in nodejs. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!