포시코딩

[JavaScript] 콜백 함수(Callback Function) 본문

CS (Computer Science)

[JavaScript] 콜백 함수(Callback Function)

포시 2023. 4. 13. 19:26
728x90

콜백 함수란

콜백 함수는 다른 함수의 인자로 전달되어 나중에 호출되는 함수를 말한다.

보통 비동기적인 처리를 위해 사용된다.

 

특징

함수의 인자로 전달되어 사용된다는 특징 때문에

함수 내부에서 콜백 함수를 정의하거나

외부에서 정의한 함수를 인자로 전달할 수 있다.

 

단점

콜백 함수를 과도하게 사용하면 가독성이 나빠지고

콜백 지옥에 빠질 수 있다.

 

예시

제일 유명한 콜백 함수의 사용 예로는 setTimeOut()을 들 수 있다.

setTimeOut()은 일정 시간 뒤 콜백 함수를 실행하도록 예약하는 함수인데

첫 번째 인자로 전달된 콜백 함수가 두 번째 인자의 delay 만큼의 시간이 지난 뒤 비동기적으로 실행된다.

 

https://developer.mozilla.org/en-US/docs/Web/API/setTimeout#syntax

 

setTimeout() global function - Web APIs | MDN

The global setTimeout() method sets a timer which executes a function or specified piece of code once the timer expires.

developer.mozilla.org

 

이 때, 이벤트 루프를 통해 비동기적으로 실행되게 되는데

이에 대한 과정은 아래에 정리해놨다.

https://4sii.tistory.com/508

 

[JavaScript] 이벤트 루프(Event Loop)

이벤트 루프란? JavaScript의 런타임 모델은 코드 실행, 이벤트의 수집과 처리, 큐에 대기 중인 하위 작업을 처리하는 이벤트 루프에 기반하고 있다. 이는 C 또는 Java 등 다른 언어가 가진 모델과 상

4sii.tistory.com

728x90

'CS (Computer Science)' 카테고리의 다른 글

[운영체제] 1. 운영체제란  (0) 2023.04.19
[운영체제] 0. 시작  (0) 2023.04.18
[JavaScript] 이벤트 루프(Event Loop)  (1) 2023.04.13
함수 호출 스택(call stack)  (0) 2023.04.08
캐시(Cache)  (1) 2023.01.07