darsga qaytish

Kengaytirilgan soat

Bizda soat klassi bor. Hozirda u har soniyada vaqtni bosib chiqaradi.

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

Clock dan meros qilib yangi ExtendedClock klassini yarating va aniqlik parametrini qo’shadi – “shomlar” orasidagi ms soni. Sukut bo’yicha 1000 (1 soniya) bo’lishi kerak.

  • Sizning kodingiz Extended-clock.js faylida bo’lishi kerak
  • Asl clock.js ni o’zgartirmang. Uni kengaytiring.

Vazifa uchun sandbox-ni oching.

class ExtendedClock extends Clock {
  constructor(options) {
    super(options);
    let { precision = 1000 } = options;
    this.precision = precision;
  }

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

Yechimni sandbox-da oching.