나중에 호출되는 함수를 말한다. 특별한 문법, 선언은 필요하지 않으며 일반적인 함수로 볼 수 있다.
어떠한 이벤트가 발생하거나 특정 시점에 도달했을 때 시스템에서 호출하는 함수로서 이를 통해 JavaScript에선 비동기적 프로그래밍을 구현한다.
- 이벤트 처리
- 네트워크의 응답 처리
- 읽고 쓰는 등의 fileSystem작업
- 시간을 지연할 때
- 다른 함수의 인자로써 사용될 때
대부분 위 5가지의 경우에서 사용한다.
function cbfunction(){
console.log('CB operaition');
}
function printMessage(name, cb){
console.log(`${name}님의 명령: `);
cb()
}
function event(){
printMessage('성민', cbfunction);
}
printMessage함수에 name과 cbfunction을 함께 보내 printMessage함수에서 cbfunction이 작동하도록 구현해보았다.
마치며
아직 javascript문법이 익숙하지 않아서 그런가 이해하는데 오래걸린다. 나중에 콜백지옥을 방지하기 위해선 더욱 열심히 공부해야겠다.