„Wenn ein Arbeiter seine Arbeit gut machen will, muss er zuerst seine Werkzeuge schärfen.“ – Konfuzius, „Die Gespräche des Konfuzius. Lu Linggong“
Titelseite > Programmierung > Wie können Sie die Klasse eines Objekts in JavaScript bestimmen?

Wie können Sie die Klasse eines Objekts in JavaScript bestimmen?

Veröffentlicht am 21.12.2024
Durchsuche:965

How Can You Determine the Class of an Object in JavaScript?

Die dynamische Natur von JavaScript verstehen: Objektklassen bestimmen

Im Gegensatz zu Sprachen wie Java fehlt JavaScript ein direktes Äquivalent zu Javas .getClass() Methode aufgrund ihres einzigartigen prototypbasierten Designs. Es gibt jedoch verschiedene Techniken, um ähnliche Funktionen zu erfüllen.

Optionen zum Bestimmen von Objektklassen in JavaScript:

  • typeof: Gibt die zurück Datentyp (z. B. „Objekt“, „Funktion“) einer Variablen.
  • instanceof: Testet, ob ein Objekt zu einer bestimmten Klasse gehört oder von dieser abstammt.
  • obj.constructor: Zeigt auf die Konstruktorfunktion, die das Objekt erstellt hat.
  • func.prototype, proto.isPrototypeOf: Ermöglicht die Überprüfung der Vererbung, indem überprüft wird, ob ein Prototyp einem Objekt gehört Prototyp.

Beispiele:

function Foo() {}
var foo = new Foo();

typeof Foo; // == "function"
typeof foo; // == "object"

foo instanceof Foo; // == true
foo.constructor.name; // == "Foo"
Foo.name // == "Foo"

Foo.prototype.isPrototypeOf(foo); // == true

Foo.prototype.bar = function (x) {return x x;};
foo.bar(21); // == 42

Hinweis: Minimierungstools wie Uglify können Klassennamen ändern. Um dies in Build-Tools wie Gulp oder Grunt zu verhindern, setzen Sie den Parameter --mangle auf false.

Neuestes Tutorial Mehr>

Haftungsausschluss: Alle bereitgestellten Ressourcen stammen teilweise aus dem Internet. Wenn eine Verletzung Ihres Urheberrechts oder anderer Rechte und Interessen vorliegt, erläutern Sie bitte die detaillierten Gründe und legen Sie einen Nachweis des Urheberrechts oder Ihrer Rechte und Interessen vor und senden Sie ihn dann an die E-Mail-Adresse: [email protected] Wir werden die Angelegenheit so schnell wie möglich für Sie erledigen.

Copyright© 2022 湘ICP备2022001581号-3