Можно ли в в установить свои параметры для объекта созданном при помощи класса?
Пытаюсь практиковаться в ООП, сделал свой простенький слайдер. И теперь не могу разобраться как правильно при создании объекта задавать для него свои параметры которые будут перезаписывать дефолтные установленные в классе? По типу как в 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
});