我想从静态类中获取方法列表。
class Person {
constructor(){
let x = this.getStaticMethods(); // how?? - would return [Person.Emails]
}
static Emails(){
// returns emails
}
}
我需要函数本身(绑定或未绑定),而不仅仅是名称。我怎么会得到这些?
这将做到这一点:
class Person {
constructor(){
let staticMethods = Object.create(null);
for(var attr in Person) {
if(typeof Person[attr] === 'function') {
staticMethods[attr] = Person[attr];
}
}
console.log(staticMethods);
}
static Emails(){
// returns emails
}
}
const p = new Person();
您可能应该在最终版本中添加hasOwnProperty
,但这将为您提供大部分工作。 http://codepen.io/anon/pen/BjeMEd