我有一個類調用其他方法的方法:ES6:如果類有方法?
class MyClass {
build(methods) {
methods.forEach((method) => {
if (this.method) {
this.method();
}
});
}
stuff() {}
moreStuff() {}
}
const a = MyClass();
a.build(['stuff', 'moreStuff']);
我一直沒能找到對任何類的特殊方法的任何引用。我的第一個想法是使用hasOwnProperty
(但eslint讓我覺得我不應該在課堂上使用它)。上面的方法不能可靠地工作,因爲類具有內置函數。
我也在尋找Reflect,因爲這可能是我的挽救優雅,但我真的可以使用一些關於此場景最佳實踐的指導嗎?
向我們展示如何打算調用'build',請 – Bergi
「*沒有提及任何特殊的類的方法*」 - 這是因爲類沒什麼特別的,並且不需要任何特殊的方法。它們只是與'.prototype'對象一樣的構造函數(儘管它們的原型方法不是可枚舉的)。 – Bergi
@Bergi我明白,他們只是語法糖,但我真的希望他們會有一些很酷的內省方法。我更新了我的代碼。我猜我應該重構並將'build'方法分離爲一個函數,然後使用某種'Reflect'。 –