nodejs new错误(消息)和Object.keys()

const err = new Error('invalid'); err.code = 200; console.log(Object.keys(err)); 

=>

 [ 'code' ] 

为什么不是message ,或stack err的关键?

是不是Error的ES6类?

什么是err.getAllProperties()的实现,以便它返回的code以及它的'隐藏'的属性,如messagestack

代替:

 Object.keys(err).forEach(function(key) { var val = err[key]; console.log(val); }); 

使用

 Object.getOwnPropertyNames(err).forEach(function (key) { var val = err[key]; console.log(val); }); 

输出:

 This is stack info This is an error message 200 

有关Object.getOwnPropertyNames的更多信息。