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

时间:2016-05-19 04:28:40

标签: node.js

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

=>

[ 'code' ]

为什么不是messagestack err的密钥?

不是Error ES6班级吗?

err.getAllProperties()的实施方式是什么,以便它返回code及其隐藏的' messagestack等属性?

1 个答案:

答案 0 :(得分:2)

而不是:

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的更多信息。