돌아가기

클래스로 다시 작성하기

중요도: 5

함수 스타일로 작성된 Clock 클래스를 ‘클래스’ 문법으로 다시 써봅시다.

참고: 콘솔창을 열어 시계가 동작하는 모습을 확인해보세요.

샌드박스를 열어 정답을 작성해보세요.

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

샌드박스를 열어 정답을 확인해보세요.