Rozšířené hodiny
důležitost: 5
Máme třídu Hodiny, která nyní vypíše čas každou sekundu.
class Hodiny {
constructor({ šablona }) {
this.šablona = šablona;
}
vypiš() {
let datum = new Date();
let hodiny = datum.getHours();
if (hodiny < 10) hodiny = '0' + hodiny;
let minuty = datum.getMinutes();
if (minuty < 10) minuty = '0' + minuty;
let sekundy = datum.getSeconds();
if (sekundy < 10) sekundy = '0' + sekundy;
let výstup = this.šablona
.replace('h', hodiny)
.replace('m', minuty)
.replace('s', sekundy);
console.log(výstup);
}
stop() {
clearInterval(this.časovač);
}
start() {
this.vypiš();
this.časovač = setInterval(() => this.vypiš(), 1000);
}
}
Vytvořte novou třídu RozšířenéHodiny, která je zděděna z třídy Hodiny a přidává parametr přesnost – počet milisekund mezi „tiky“. Standardně by měla být 1000 (1 sekunda).
- Váš kód by měl být v souboru
extended-clock.js. - Neměňte originální soubor
clock.js. Rozšiřte jej.
class RozšířenéHodiny extends Hodiny {
constructor(možnosti) {
super(možnosti);
let { přesnost = 1000 } = možnosti;
this.přesnost = přesnost;
}
start() {
this.vypiš();
this.časovač = setInterval(() => this.vypiš(), this.přesnost);
}
};