下面的代码中会打印{"status": 404}, 没有错误信息也没有堆栈信息
class HTTPError extends Error {
constructor(message, status...) {
super(message);
this.status = status;
}
}
const e = new HTTPError('Fail', 404);
console.log...(JSON.stringify(e)); // {"status":404}
但是当你添加了一个toJSON方法在HTTPError类里面后, 你就可以控制JavaScript如何来序列化这个HTTPError...('Fail', 404);
console.log(JSON.stringify(e)); // {"message":"Fail","status":404}
除此之外还能再整一些活来让toJSON...('Fail', 404);
// {"nested":{"message":"Fail","status":404},"arr":[{"message":"Fail","status":404}]}