1. 콜백 함수는 다른코드에 인자로 넘겨줌으로써 그 제어권도 함께 위임한 함수이다.
2. 제어권을 넘겨받은 코드는 다음과 같은 제어권을 가진다.
a) 콜백 함수를 호출하는 시점을 스스로 판단해서 실행한다.
b) 콜백 함수를 호출할 때 인자로 넘겨줄 값들 및 그 순서가 정해져 있다. 이 순서를 따르지 않고 코드를 작성하면 엉뚱한 결과를 얻게 된다.
c) 콜백 함수 내의 this가 무엇을 바라보도록 할지가 정해져 있는 경우도 있다. 정하지 않은 경우에는 전역객체를 바라본다. 사용자가 임의로 this를 바꾸고 싶을 경우 bind 메서드를 활용하면 된다.
3. 어떤 함수에 인자로 메서드를 전달하더라도 이는 결국 함수로서 실행된다.
4. 비동기 제어를 위해 콜백 함수를 사용하다 보면 콜백 지옥에 빠지기 쉽습니다. 최근의 ECMAScript에는 Promise, Generator, async/await 등 콜백 지옥에서 벗어날 수 있는 훌륭한 방법들이 속속 등장하고 있다.
'interactive service > Web' 카테고리의 다른 글
06. 코어자바스크립트_프로토타입 (0) | 2022.01.04 |
---|---|
05. 코어 자바스크립트_클로저 (0) | 2022.01.04 |
03. 코어 자바스크립트_this (0) | 2022.01.03 |
02. 코어 자바스크립트_실행 컨텍스트 (0) | 2022.01.03 |
01. 코어 자바스크립트_데이터 타입 (0) | 2022.01.03 |