rhanziy

javascript. class와 callback함수 본문

Html_css_js

javascript. class와 callback함수

rhanziy 2022. 1. 31. 18:36
class Counter {
  constructor(runEveryFive){
    this.counter = 0;
    this.callback = runEveryFive;
  }

  increase(){
    this.counter++;
    console.log(this.counter);
    if(this.counter % 5 === 0){
      this.callback && this.callback(this.counter); // this.callback이 있다면 함수를 실행
    }
  }
}

function printSomething(num){
  console.log(`yo! ${num}`);
}
function alertSomething(num){
  alert(`yo! ${num}`);
}

const coolCounter = new Counter(printSomething); // ( ) runEveryFive로 초기화 
const sexyCounter = new Counter(alertSomething);


coolCounter.increase();
coolCounter.increase();
coolCounter.increase();
coolCounter.increase();
coolCounter.increase();

sexyCounter.increase();
sexyCounter.increase();
sexyCounter.increase();
sexyCounter.increase();
sexyCounter.increase();

 

하나의 클래스로 다양한 오브젝트를 만들어 서로 다른 기능을 수행.
=> 클래스의 재사용 가능성이 높아진다.

Comments