Есть массив с названиями методов. В конструкторе класса нужно запустить все эти методы по их именам. Например:
class A {
constructor(methods) {
// methods == ["a", "c", "e"];
}
a() {
}
b() {
}
c() {
}
d() {
}
e() {
}
}
Необходимо, чтобы автоматически запустились и выполнились методы a
, c
и e
этого класса. Запуск необходимо инициализировать прямо в конструкторе. Слышал, что можно использовать eval
, но, вроде как, это плохое решение (но я не уверен). Короче говоря, ищу доступные варианты.
Внутри конструктора this
указывает на создаваемый объект.
Для обращения к методу, имя которого находится в переменной, нужно использовать скобочную нотацию
Для прохода по всем элементам массива - forEach
В итоге получится:
methods.forEach(method=>this[method]());
class A {
constructor(methods) {
for (var i = 0; i < methods.length; i ++) {
this[methods[i]]();
}
}
a() {
console.log("a");
}
b() {
console.log("b");
}
c() {
console.log("c");
}
d() {
console.log("d");
}
e() {
console.log("e");
}
}
new A(["a", "c", "e"]);
Виртуальный выделенный сервер (VDS) становится отличным выбором
Добрый вечерПодскажите, пожалуйста, я новичок и пытаюсь написать алгоритм преобразования арабских чисел в римские
Вы забыли вызвать функцию guessingНужно добавить строчку