[코어 자바스크립트] Callback 함수

link717·2021년 2월 2일
0
post-thumbnail

🌼 Callback 함수?

Callback 함수는 다른 함수의 인자로 넘겨주면서 그 제어권도 같이 위임한 함수이다. Callback 함수를 위임받은 함수는 자체 내부 로직에 따라서 Callback 함수를 적절한 시점에 실행한다.

🌻 제어권

콜백함수의 제어권을 넘겨받은 코드는 콜백 함수를 호출할 때 인자에 어떤 값들을 어떤 순서로 넘길 것인지에 대한 제어권을 갖는다.

/*Callback 함수를 호출하는 주체가 사용자가 아닌 map 메서드이므로
인자에 어떤 값을 전달할지는 전적으로 map 메서드에 달렸다.*/

const arr = [10, 20, 30];

let newArr = arr.map((currentValue, index) => (
  console.log(currentValue, index)
));

// 10 0
// 20 1
// 30 2

let newArr = arr.map((index, currentValue) => (
  console.log(currentValue, index)
));

// 0 10
// 1 20
// 2 30

🌻 콜백 함수는 함수이다.

콜백 함수로 어떤 객체의 메서드를 전달하더라도 그 메서드는 메서드가 아닌 함수로서 호출한다. 콜백함수로 전달된 메서드는 this를 별도로 바인딩하지 않는 한 전역객체를 this로 갖는다.

  • Callback 함수의 this로 다른 값을 바인딩하기 위해서 bind 메서드를 사용할 수 있다.

출처: 코어 자바스크립트

profile
Turtle Never stop

0개의 댓글