admin管理员组

文章数量:1295722

How to get list of methods defined for a class in js?

class c {
  methodA(){}
  static methodB(){}

  log(){console.log(/*methods*/);}
  static logStatic(){console.log(/*static methods*/)}
}

Thanks

How to get list of methods defined for a class in js?

class c {
  methodA(){}
  static methodB(){}

  log(){console.log(/*methods*/);}
  static logStatic(){console.log(/*static methods*/)}
}

Thanks

Share asked Aug 24, 2018 at 18:52 Márius RakMárius Rak 1,4722 gold badges18 silver badges39 bronze badges 0
Add a ment  | 

1 Answer 1

Reset to default 10

You can use Object.getOwnPropertyNames and filter the instance and static methods:

class c {
  methodA(){}
  static methodB(){}

  log(){console.log(/*methods*/);}
  static logStatic(){console.log(/*static methods*/)}
}
const instanceOnly = Object.getOwnPropertyNames(c.prototype)
    .filter(prop => prop != "constructor");
console.log(instanceOnly);
const staticOnly = Object.getOwnPropertyNames(c)
    .filter(prop => typeof c[prop] === "function");
console.log(staticOnly);

本文标签: Get methods of class in JavaScriptStack Overflow