JSFiddle - React, Tailwind, and code Playground

by Vladymyr Shevchuk

JavaScript

class DoubleSlider {
  options = {
    min: 100,
    max: 300,
    formatValue: value => '$' + value,
    selected: {
      from: 120,
      to: 150
    }
  };
  constructor(userOptions = {}) {
    this.options = {...this.options, ...userOptions};  
  }
}

// при передачи части параметров, они будут объединены с параметрами по умолчанию в классе
const slider1 = new DoubleSlider({min: 200, max: 400});
// если ничего не передать инстанциировании класса, будут испольщованы параметры по умолчани
const slider2 = new DoubleSlider();

console.error(slider1.options);
console.error(slider2.options);