torna alle lezioni
Questo materiale è disponibile nelle seguenti lingue: عربي, English, Español, فارسی, Français, Indonesia, 日本語, 한국어, Русский, Türkçe, Українська, 简体中文. Per favore, aiutaci con la traduzione in Italiano.

Rewrite to class

importanza: 5

The Clock class (see the sandbox) is written in functional style. Rewrite it in the “class” syntax.

P.S. The clock ticks in the console, open it to see.

Apri una sandbox per l'esercizio.

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);
  }
}


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

Apri la soluzione in una sandbox.