Heim  >  Artikel  >  Web-Frontend  >  So erhalten Sie den Objektnamen in nodejs

So erhalten Sie den Objektnamen in nodejs

PHPz
PHPzOriginal
2023-04-17 16:37:50962Durchsuche

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.

1. Verwenden Sie das Schlüsselwort „typeof“

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.

2. Verwenden Sie das Konstruktorattribut

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.

3. Verwenden Sie die Methode Object.keys()

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.

4. Verwenden Sie die Methode Object.prototype.toString().

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.

5. Zusammenfassung: Bei der Node.js-Programmierung müssen wir häufig den Namen des Objekts ermitteln. In diesem Artikel werden vier häufig verwendete Methoden vorgestellt, um den Namen des Objekts zu ermitteln:

Verwenden Sie das Schlüsselwort „typeof“.
    Verwenden Sie Konstruktorattribute
  • Verwenden Sie die Methode Object.keys()
  • Verwenden Sie die Methode Object.prototype.toString()
  • Sie müssen die geeignete Methode entsprechend der spezifischen Situation auswählen, um den besten Nutzungseffekt zu erzielen. Ich hoffe, dieser Artikel ist hilfreich für Sie.

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!

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