[면접 준비] 동기와 비동기 / 콜백 함수

2021. 12. 16. 03:54Etc/Interview

동기? 비동기?

 

자바스크립트는 하나의 작업이 완료되어야 다음 작업을 실행할 수 있는 싱글 스레드 방식이기 때문에 동기적으로 코드를 처리합니다.

이런 단점을 효율적으로 보완하기 위해 특정 코드의 연산이 끝날 때까지 기다리지 않고 그동안 다른 코드를 실행하는 콜백 함수 같은 비동기적 프로그래밍이 있습니다.


콜백 함수란?

 

콜백 함수는 유니크한 문법적 특징을 가지고 있는 것이 아닌 호출 방식에 의한 구분으로, 자바스크립트의 이벤트 핸들러나 setTimeout, setInterval 등이 있고, 이는 자바스크립트에서 비동기적 프로그래밍을 가능하게하여 싱글 스레드의 멈춤을 방지합니다.

Ex) 사용자 이벤트 처리, 네트워크 응답 처리, 파일을 읽고 쓰는 등의 파일 시스템 작업, 알람 등 의도적으로 시간 지연을 사용하는 기능