Сообщение от js123
|
Что значит ' побочки в конструкторе '. Как это исправить ?
|
Я думаю, что вам намекают, что такие побочные эффекты в конструкторе являются плохой практикой!
Например, в констркуторе вы используете вызовы функции, которые меняют что-то вне конструктора. (А именно в этом примере массив arr)
Я не представляю, что же могут означать эти классы (An и Ba), но то, как вы используете метод moveElement, показывает, что вам такие классы не нужны, чтобы они не представляли. У меня сложилось впечатление, что вы хотите добавить методы для работы с массивом! В таком случае, почему бы не наследовать от класса Array. (Ведь именно с его экземпляром вы и пытаетесь работать)
{
class MyArrayExtension extends Array {
moveElement(from, to) {
this.splice(to, 0, this.splice(from, 1)[0]);
return this;
}
}
const an = new MyArrayExtension(4, 3, 2, 1);
an.moveElement(0, 1);
console.log(an);
}