У меня есть класс с методом, который вызывает другие методы:ES6: Если у класса есть метод?
class MyClass {
build(methods) {
methods.forEach((method) => {
if (this.method) {
this.method();
}
});
}
stuff() {}
moreStuff() {}
}
const a = MyClass();
a.build(['stuff', 'moreStuff']);
Я не смог найти какие-либо ссылки на каких-либо специальных методах классов. Моя первая мысль заключалась в том, чтобы использовать hasOwnProperty
(однако eslint nags меня, что я не должен использовать его внутри класса). Приведенный выше подход не будет надежно работать, поскольку классы имеют встроенные функции.
Я также рассматривал Reflect как возможную экономию, но я действительно мог бы использовать некоторые рекомендации относительно наилучшей практики для этого сценария?
Покажите нам, как вы собираетесь называть 'build', пожалуйста, – Bergi
« * ссылка на какие-либо специальные методы для классов * "- это потому, что классы ничего особенного и не нуждаются в каких-либо специальных методах. Это просто функция-конструктор с объектами '.prototype', как всегда (хотя их прототипные методы не перечислены). – Bergi
@ Bergi Я понимаю, что это просто синтаксический сахар, но я действительно надеялся, что у них будут какие-то классные методы самоанализа. Я обновил свой код. Я предполагаю, что я должен реорганизовать и разделить метод 'build' на функцию, а затем использовать какой-то« Reflect ». –