Reputation: 1472
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
Upvotes: 7
Views: 4632
Reputation: 7368
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);
Upvotes: 10