js에서 함수는 object라고 한다. 그래서, 함수는 다른 함수의 인자로 쓰일 수도 어떤 함수에 의해 리턴될 수도 있다. 이런 함수를 고차 함수라고 한다. 결국, 인자로 넘겨지는 함수를 콜백 함수라고 한다. 또한, 단지 함수를 등록하기만 하고 어떤 이벤트가 발생했거나 특정 시점에 도달했을 때 시스템에서 호출하는 함수이다.
콜백함수 변수의 유효범위(scope)와 동기/비동기(synchronous/Asynchronous)처리
1. 동기 : 하나의 요청이 오면 완료가 된 후 다음 요청을 실행하는 방식 - 순차적 로직흐름
2. 비동기 : 어떤 요청이 오면 완료가 되기 전에 다음 요청을 실행하는 방식
- 동시 효율적 처리 가능, 즉시 응답X 때문에 예상 밖 결과 나올수도 있다.
콜백함수는 때로는 가독성이나 코드 재사용 면에서도 사용 된다.
비동기 방식으로 작성된 함수를 동기 처리하기 위해 필요 하다.