Answer

Answer

t.me/js_test

Ответ:

В конструкторе принимаем template и сохраняем его во внутреннее поле. Далее создадим основной метод render в котором мы получаем текущую дату с помощью new Date(), получаем часы, минуты и секунды и добавляем ведущий ноль если нужно. Затем по шаблону собираем строку с помощью метода replace и выводим результат в консоль. В конце создадим метод start который сначала вызовет render а затем заведёт интервал в секунду с вызовом render, и функцию stop в который мы этот интервал будем очищать.

Объяснение:

Код для проверки:

class Clock {
  constructor({ template }) {
    this.template = template;
  }

  render() {
    let date = new Date();

    let hours = date.getHours();
    if (hours < 10) hours = '0' + hours;

    let mins = date.getMinutes();
    if (mins < 10) mins = '0' + mins;

    let secs = date.getSeconds();
    if (secs < 10) secs = '0' + secs;

    let output = this.template.replace('h', hours).replace('m', mins).replace('s', secs);

    console.log(output);
  }

  stop() {
    clearInterval(this.timer);
  }

  start() {
    this.render();
    this.timer = setInterval(() => this.render(), 1000);
  }
}

const clock = new Clock({ template: 'h:m:s' });
clock.start();

Report Page