클래스와 callback
'use strict';
class Counter{
constructor(runEveryFiveTimes){
this.counter = 0;
this.callback = runEveryFiveTimes;
}
increase(){
this.counter++;
console.log(this.counter);
if(this.counter % 5 === 0){
this.callback && this.callback(this.counter);
//위의 코드와 같음
// if (this.callback){
// this.callback(this.counter);
// }
}
}
}
const coolCounter = new Counter();
coolCounter.increase();
coolCounter.increase();
coolCounter.increase();
coolCounter.increase();
coolCounter.increase();
coolCounter.increase();
coolCounter.increase();
coolCounter.increase();
coolCounter.increase();
coolCounter.increase();
function printSomething(num){
console.log(`5의 배수 ${num}`);
}
function alertNum(num){
alert(`wow! ${num}`);
}
//아래와 같이 할 경우 재사용이 더 쉽다
const printCounter = new Counter(printSomething);
const alertCounter = new Counter(alertNum);
'Front-end > Web' 카테고리의 다른 글
[JS] 자바스크립트 프로처럼 쓰는 팁 (0) | 2021.08.31 |
---|---|
[JS] 최신문법 (ES6, ES11) (0) | 2021.08.31 |
[JS] 자바스크립트 기초 3. 연산자 | boolean, &&연산자 (0) | 2021.08.29 |
[JS] 자바스크립트 기초 2. 함수 | 함수 정의, 호출, 그리고 callback (0) | 2021.08.28 |
[JS] 자바스크립트 기초1. 변수 | primitive 타입과 object의 차이점 (0) | 2021.08.28 |
댓글