Alm*_*mis 9 javascript getter node.js ecmascript-6 es6-class
假设我有这个类(我使用它像枚举):
class Color {
static get Red() {
return 0;
}
static get Black() {
return 1;
}
}
Run Code Online (Sandbox Code Playgroud)
有什么类似Object.keys拿到['Red', 'Black']?
我正在使用Node.js v6.5.0,这意味着某些功能可能会丢失.
Mic*_*ski 16
使用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)Run Code Online (Sandbox Code Playgroud)
您也可以尝试这种方法 - 它应该在Node.js 6.5.0中工作.
class Color {
static get Red() {
return 0;
}
static get Black() {
return 1;
}
}
const getters = Object.getOwnPropertyNames(Color)
.map(key => [key, Object.getOwnPropertyDescriptor(Color, key)])
.filter(([key, descriptor]) => typeof descriptor.get === 'function')
.map(([key]) => key)
console.log(getters)Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3203 次 |
| 最近记录: |