获得一个类中的所有静态获得者
比方说,我有这个类(我使用像一个枚举):
class Color { static get Red() { return 0; } static get Black() { return 1; } }
有没有类似于Object.keys
来获得['Red', 'Black']
?
我正在使用Node.js v6.5.0,这意味着一些function可能会丢失。
使用Object.getOwnPropertyDescriptors()
并过滤结果以仅包含具有getter的属性:
class Color { static get Red() { return 0; } static get Black() { return 1; } } const getters = Object.entries(Object.getOwnPropertyDescriptors(Color)) .filter(([key, descriptor]) => typeof descriptor.get === 'function') .map(([key]) => key) console.log(getters)