La documentación de MDN en Object.prototype.toString dice que cuando se anula toString , solo debe devolver un valor primitivo:
La función
toString()que cree debe devolver una primitiva; de lo contrario, se ignorará.
Sin embargo, en el siguiente ejemplo devolvemos un objeto dentro de toString y devuelve el objeto normalmente:
const ob2 = { val1: 100, val2: 200, toString: function() { return { veh: "meh" }; // Object. } }; console.log(ob2.toString());Producción:
{ veh: "meh" } Entonces, el método toString devuelve el objeto normalmente. ¿Qué pasa con la desinformación?