My first class example

  1. class Clock {
  2.     constructor({ template,style }) {
  3.       this._template = template;
  4.       this._class = style;
  5.     }
  6.     
  7.     _createElement(heure) {
  8.   
  9.       let node = document.createElement("div");
  10.       console.log(this._class);
  11.       node.classList.add(this._class);
  12.       
  13.       document.body.appendChild(node);
  14.       
  15.       this._node = node;
  16.   
  17.     }
  18.   
  19.     _render() {
  20.       let date = new Date();
  21.   
  22.       let hours = date.getHours();
  23.       if (hours < 10) hours = '0' + hours;
  24.   
  25.       let mins = date.getMinutes();
  26.       if (mins < 10) mins = '0' + mins;
  27.   
  28.       let secs = date.getSeconds();
  29.       if (secs < 10) secs = '0' + secs;
  30.       
  31.       let l = date.getMilliseconds();
  32.       if (l < 10) {
  33.          l = '00' + l;
  34.       } else if (l < 100) {
  35.          l = '0' + l;
  36.       } 
  37.       
  38.   
  39.       let output = this._template
  40.         .replace(/H/ig, hours)
  41.         .replace('m', mins)
  42.         .replace('s', secs)
  43.         .replace('l', l);
  44.       
  45.       this._node.innerText = output;
  46.     }
  47.   
  48.     stop() {
  49.       clearInterval(this._timer);
  50.     }
  51.   
  52.     start() {
  53.       this._createElement();
  54.       this._render();
  55.       this._timer = setInterval(() => this._render(), 10);
  56.     }
  57.   }
  58.   
  59.   let tabC = [
  60.     new Clock({template : "⏰ h:m:s:l", style:"hms"}),
  61.     new Clock({template : "Il est : s->m->h", style:"smh"}),
  62.     new Clock({template : "l", style:"l"}),
  63.   ];
  64.   
  65.   
  66.   for (let c of tabC){
  67.       c.start();
  68.   }

En action