在 JavaScript 中获取类的方法

Már*_*Rak 6 javascript

如何获取为 js 中的类定义的方法列表?

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

  log(){console.log(/*methods*/);}
  static logStatic(){console.log(/*static methods*/)}
}
Run Code Online (Sandbox Code Playgroud)

谢谢

Nul*_*ter 8

您可以使用Object.getOwnPropertyNames 和过滤instancestatic方法:

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);
Run Code Online (Sandbox Code Playgroud)