我如何获得javascript错误的原型成员对象键? [重复]

问题描述 投票:0回答:2
如何获取javascript错误的原型成员对象键?

我遇到错误时遇到了这个问题,由于错误类/类型/ ....的某些特殊原因,我不知道控制台输出是否以这种方式运行。

try { throw new Error('sample error') } catch (ex) { console.log(ex instanceof Error) //true console.log(ex.message) //sample error console.log(Object.keys(ex)) //[] fine as i suppose the class/type members exist in prototype console.log(ex.__proto__) //{name:'error', message:'', constructor:.... i suppose these are the default properties of Error console.log(Object.keys(ex.__proto__)) //[] how come empty array still??? }
我想它的最后一个语句console.log(Object.keys(ex.__proto__))应该返回['name','message'...]。只是想知道我做错了什么。

如何获取javascript错误的原型成员对象键?遇到错误时,我遇到了这个问题,我不知道控制台输出是否以这种方式运行,因为...

javascript prototype
2个回答
1
投票
Object.getOwnPropertyDescriptor(ex.__proto__, "name") # => {value: "Error", writable: true, enumerable: false, configurable: true}

2
投票
由于某种原因,name上不能枚举messageError.prototype属性。但是,您可以使用Object.getOwnPropertyNames获取可枚举和不可枚举的属性列表:
© www.soinside.com 2019 - 2024. All rights reserved.