Можно ли в в установить свои параметры для объекта созданном при помощи класса?

Пытаюсь практиковаться в ООП, сделал свой простенький слайдер. И теперь не могу разобраться как правильно при создании объекта задавать для него свои параметры которые будут перезаписывать дефолтные установленные в классе? По типу как в slickslider ключ:значение или как-то по другому. Допустим передать другие классы кнопок назад вперёд или установить другое значение this.interval = 2000;. И как правильно для параметров задавать значение по умолчанию ? писать в конструкторе constructor(slider, interval = 2000)?.

class Slider{
    constructor(slider){
        this.slider = slider;
        this.interval = 2000;
        this.slides= slider.children;
        this.totalSlides = this.slides.length;
        this.containerWidth = this.slider.offsetWidth;
        //Кнопки
        this.nextSlide = document.querySelector('.next-slide');
        this.prevSlide = document.querySelector('.prev-slide');

        var that = this;
        this.nextSlide.onclick= function(){
            that.next();
        };
        this.prevSlide.onclick= function(){
            that.prev();
        };
        this.index=0;
        this.jumpWidth=0;
        // Вызов метода setWidth
        this.setWidth();

    }

    setWidth(){
        var totalWidth = 0;
        for(let i=0; i<this.slides.length;i++){
            this.slides[i].style.width = this.containerWidth + 'px';
            totalWidth = totalWidth + this.containerWidth;
        }
        this.slider.style.width = totalWidth + 'px';
    }

    next(){
        if(this.index==this.totalSlides-1){
            this.index=0;
            this.jumpWidth = 0;
        }
        else{
            this.index++;
            this.jumpWidth = this.jumpWidth+this.containerWidth;
        }
        this.slider.style.marginLeft = -this.jumpWidth + 'px';
    }

    prev(){
        if(this.index==0){
          this.index=this.totalSlides-1;
          this.jumpWidth=this.containerWidth*(this.totalSlides-1);
        }
        else{
           this.index--;
           this.jumpWidth=this.jumpWidth-this.containerWidth;
        }

       this.slider.style.marginLeft=-this.jumpWidth+"px"
    }

}


    const sliderOne=document.querySelector(".slider-items");

    var slider1 = new Slider(sliderOne)


//Что-то по типу этого -->


$('.multiple-items').slick({
  infinite: true,
  slidesToShow: 3,
  slidesToScroll: 3
});


Ответы (0 шт):