Tengo un problema al codificar la clase extendida de JavaScript. Primero, creo la clase MyError como extensión de Error y luego pruebo JSON.stringify en una nueva instancia de MyError.
Espero ver la propiedad .message de la clase heredada (Error), pero stringify solo serializa los atributos directos de la clase MyError. Vea el código y la salida a continuación.
¿Hay alguna manera de decirle a stringify que incluya Error.message? ¿O una solución fácil para lograr esto?
class MyError extends Error { constructor(message, hint = "") { super(message); this.message = message; // attempt to trick .stringify this.hint = hint; } } console.log(JSON.stringify(new MyError("hello world");)); Salida real: {"hint":""}
Resultado deseado: {"message":"hello world","hint":""}