callback 함수
다른 함수의 매개변수로 넘겨주는 함수
function sayHello(name) { console.log('Hello ' + name); }// 다른 함수 자체를 매개변수로 받음 function getName(callBackFn) { callBackFn('철수'); } getName(sayHello); // Hello
find(), filter()와 같은 함수의 매개변수(parameter)로 들어가는 함수를 콜백함수라고 한다
콜백함수의 매개변수에는 배열의 각 element, index, 전체 배열 array 가 순서대로 들어간다.
콜백함수는 true
또는 false
를 반환해야 한다.
function cbFn(element, index, array) { return element >= 1; }
find 함수를 예로 들면
// 숫자로 이루어진 배열을 만들었습니다. const numbers = [0, 1, 2]; function cbFn(element, index, array) { return element >= 1; } const result = numbers.find(cbFn); console.log(result); // 1
- find 함수는 배열에 사용하는 함수다
- 콜백함수는 array를 돌면서 매번 실행된다
- 콜백함수의 리턴값이 true가 나온 요소값을 find()함수에 전달한다.
- find()함수는 콜백함수를 true로 리턴하게 만들면(
element>=1
) 배열 순회를 멈추고 그 때의 요소를 리턴하며 함수를 종료한다
콜백함수는 boolean값을 리턴한다
그리고 이를 이용해 콜백함수가 매개변수로 이용되는 함수를 실행시킨다