例如,我有一些带有一些方法的类:
class SomeClass() {
someMethod1() {
}
someMethod2() {
}
}
我可以得到这个类实例的所有函数名吗?
Object.keys(new SomeClass())
给了我一个空数组。
我想得到像['someMethod1', 'someMethod2']
.
例如,我有一些带有一些方法的类:
class SomeClass() {
someMethod1() {
}
someMethod2() {
}
}
我可以得到这个类实例的所有函数名吗?
Object.keys(new SomeClass())
给了我一个空数组。
我想得到像['someMethod1', 'someMethod2']
.
你必须调用类Object.getOwnPropertyNames()
的prototype
属性。
class Test {
methodA() {}
methodB() {}
}
console.log(Object.getOwnPropertyNames(Test.prototype))
请注意,这也包括构造函数,但如果需要,您可以轻松地将其排除:
class Test {
methodA() {}
methodB() {}
}
console.log(
Object.getOwnPropertyNames(Test.prototype)
.filter(x => x !== 'constructor')
)