为什么错误不能字符串化
Why can Errors not be stringified?
为什么错误不能字符串化?
JSON.stringify(new ReferenceError('foo')); // {}
例如,当Date做一些更有用的事情时:
JSON.stringify(new Date()); // "2015-04-01T10:23:24.749Z"
JavaScript Error
对象是不可枚举的。你可以很容易地验证这一点:
new Error('Test').propertyIsEnumerable('message');
// -> false
但是,您可以在错误Object:上定义自己的toJSON
函数
Object.defineProperty(Error.prototype, 'toJSON', {
value: function () {
return {value: "Test"};
},
configurable: true
});
JSON.stringify(new Error());
-> "{value: "Test"}"
相关文章:
- 为什么错误不能字符串化
- 为什么我不能使用jQuery.parseJSON(json)解析json字符串
- 正则表达式能否匹配字符串开头或结尾的字符(但不能同时匹配)
- Google图表:轴#0的数据列不能为字符串类型
- 字符串中的字符串可以'不能用换行符分隔
- 正则表达式 - 字符串不能以空格开头,以空格结尾,并且连续包含几个空格
- 为什么我不能在 JavaScript 中将对象属性设置为空字符串
- 为什么我不能通过对象中定义的字符串调用 setter
- 为什么在 JavaScript 中不能用函数变量覆盖字符串变量
- Mongodb:不能使用字符串字段名称附加到数组
- PHP 似乎不能很好地处理 XML 字符串
- 为什么我不能使用带斜杠的子字符串
- 你能不能让 mongo 默认生成_ids字符串
- Jquery字符串不能在$()中工作
- Javascript查询字符串不能在移动设备上工作
- 字符串不能读取属性'的定义
- jQuery ajax post URL与查询字符串不能在服务器端获得$_POST
- 为什么这个字符串不能通过测试功能
- JavaScript字符串不能强制转换为HTML对象
- 连接包含HTML的字符串不能正常工作