verwenden ich versuche Symbol.toStringTag
zu verwenden, um [object Pirate]
als Ergebnis zu erhalten, wenn ich versuche .toString
auf einer Piraten-Instanz anzurufen, aber ich erhalte immer [object Object]
zurück!Symbol.toStringTag definiert, aber nicht durch .ToString Methode
Ich lese bereits the ES6 spec for toString
und entsprechend sollte mein Code funktionieren. Vielleicht vermisse ich etwas.
Der folgende Code ist, was ich erwartet passieren:
function Pirate(name) {
this.name = name;
}
Object.defineProperty(Pirate.prototype, Symbol.toStringTag, {
value:() => 'Pirate'
});
console.log(new Pirate('Jack Sparrow').toString()); // I expected '[object Pirate]'
bin ich etwas fehlt hier? Ich überprüfte auch, ob die Pirate.prototype[Symbol.toStringTag]
eingestellt wurde und es war.
Super! Ich hätte den Getter für diese Eigenschaft gesetzt, anstatt seinen Wert zu setzen. Vielen Dank! – lucasfcosta