Ich brauche in einem Namensraum zu arbeiten, sage ichErste der Name einer von einer anonymen Funktion konstruiert Klasse
var my_namespace = {}
my_namespace.my_class = function() {}
var instance = new my_namespace.my_class();
Dann machen Sie das aktuelle Problem, das ich mit Blick auf bin ist, dass instance.constructor.name returns " "(eine leere Zeichenfolge).
Ich mag die Art von Instanz überprüfen, indem es gegen eine Reihe von Möglichkeiten, wie ‚String‘ oder ‚Array‘ oder ‚my_namespace.my_class‘
Theoretisch Vergleich konnte ich es umgehen, indem instanceof und eval aber ich suche einen weniger volatilen Weg.
Setzen Sie eine Namenseigenschaft in Ihrem Konstruktor? – Orangesandlemons
Nein. Sie können instance.constructor verwenden, um eine direkte Referenz zu erhalten, aber es handelt sich um eine anonyme Funktion, sodass der Name nicht abgerufen werden kann. – callback
Ich dachte eher an etwas wie 'this.className =" Name "' im Konstruktor, also gibt instance.className den Typ – Orangesandlemons