javascript - Object.getOwnPropertyDescriptors 不返回 getter 和 setter
问题描述
我想获取对象中所有可能的字段。据我了解Object.getOwnPropertyDescriptors
可以帮助我。
这是我的测试课
class SomeClass {
field1 = 'something';
field2 = () => {};
get field3() {
return 123;
}
set field4(value) {}
constructor() {
console.log(Object.getOwnPropertyDescriptors(this));
}
}
new SomeClass();
如您所见,有 4 个字段,其中一个是 getter,一个是 setter。但Object.getOwnPropertyDescriptors(this)
仅返回field1
和的描述符field2
。这是调试时的样子:
field3
确实存在。但Object.getOwnPropertyDescriptors(this)
不知为何看不到。
我的代码有什么问题?下面的代码工作正常
Object.getOwnPropertyDescriptors({ get asd() {} })
或者,也许我在实现目标的方式上完全错了。我需要获取所有属性名称及其类型:字段、函数、getter 或 setter。如果是,请告诉我正确的方法
解决方案
推荐阅读
- css - 我如何在 div 之外左右制作 CSS 背景图像?
- r - 当需要“大小”美学和 geom_smooth 时更改图例外观
- python - 如何从具有位置(X,Y)和强度的点加速创建图像?
- java - 是否可以在@Repository 中调用服务?
- java - Tomcat 端口已使用 8084
- f# - F# Saturn 框架:“get”和“forward”有什么区别?
- c# - 在方法上实现扩展(就好像它是一个动作)
- python - 将 numpy 数组转换为 panda 数据帧,dtypes 丢失
- javascript - 有没有办法在 react-testing-library 中使用 fireEvent 在“span”上触发点击事件?
- r - 从多面画布中分离`facet_grid`条?