如何获取为 js 中的类定义的方法列表?
class c {
methodA(){}
static methodB(){}
log(){console.log(/*methods*/);}
static logStatic(){console.log(/*static methods*/)}
}
Run Code Online (Sandbox Code Playgroud)
谢谢
您可以使用Object.getOwnPropertyNames 和过滤instance和static方法:
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)