我看到根据MDN - Error文档,Error
对象可能在不同的浏览器中有不同的行为。
我想查看您对在默认Error
对象上添加属性的看法。
在我的特定代码中,我想标记一个Error
对象,并带有我自己的标记名称以供进一步使用,这意味着 - >向对象添加属性,如下所示:
const error = new Error('some message')
if(someConditionExist()){
error.__myTag = 'tag1';
}
else {
error.__myTag = 'tag2';
}
//then throwing the error and catch it elsewhere...
我没有看到任何指导这种事情的含义(如果有的话)。
你们有什么顾虑吗?您是否在不同的浏览器中遇到过任何问题?
答案 0 :(得分:1)
好吧,我们可以说你应该为内置对象添加自定义属性,但是这样的东西可以工作:
class CustomError extends Error {
constructor(tag) {
super();
this.__tag = tag;
}
};
const customError = new CustomError('tag1');
console.log(customError.__tag); // 'tag1'