본문 바로가기
interactive service/Web

04. 코어 자바스크립트_콜백 함수

by jessicahan96 2022. 1. 3.

1. 콜백 함수는 다른코드에 인자로 넘겨줌으로써 그 제어권도 함께 위임한 함수이다.


2. 제어권을 넘겨받은 코드는 다음과 같은 제어권을 가진다.

a) 콜백 함수를 호출하는 시점을 스스로 판단해서 실행한다.

b) 콜백 함수를 호출할 때 인자로 넘겨줄 값들 및 그 순서가 정해져 있다. 이 순서를 따르지 않고 코드를 작성하면 엉뚱한 결과를 얻게 된다.

c) 콜백 함수 내의 this가 무엇을 바라보도록 할지가 정해져 있는 경우도 있다. 정하지 않은 경우에는 전역객체를 바라본다. 사용자가 임의로 this를 바꾸고 싶을 경우 bind 메서드를 활용하면 된다.

 

3. 어떤 함수에 인자로 메서드를 전달하더라도 이는 결국 함수로서 실행된다.

 

4. 비동기 제어를 위해 콜백 함수를 사용하다 보면 콜백 지옥에 빠지기 쉽습니다. 최근의 ECMAScript에는 Promise, Generator, async/await 등 콜백 지옥에서 벗어날 수 있는 훌륭한 방법들이 속속 등장하고 있다.