[ 생활코딩 ] callback

Happhee·2022년 2월 11일
0

 💜 JavaScript 💜

목록 보기
13/19

자바스크립트에서의 함수는 숫자와 마찬가지로 일급객체의 특성을 가진다

👇 일급 객체의 조건

  1. 함수가 다른 함수의 return 값이 될 수 있다면 가능
  2. 함수가 다른 함수의 입력 값이 될 수 있다면 가능!

callback이란?

변수로 정의된 함수가 다른 함수에 인자로 전달되어 전달된 함수 내에서 호출하는 것을 callback함수라고 한다


val 자체가 콜백함수는 아니지만, 다른 함수의 입력값으로 전달되서 호출되기에 위의 맥락에서는 callback function이라고 할 수 있다


callback 예제

Array.filter( )의 예제를 봐보자.

const words = ['spray', 'limit', 'elite', 'exuberant', 'destruction', 'present'];

							// 콜백 함수
const result = words.filter(word => word.length > 6);

console.log(result);
// expected output: Array ["exuberant", "destruction", "present"]

인자로 콜백함수를 가지고 있다

arr.filter(callback(element[, index[, array]])[, thisArg])
  • callback
    각 요소를 시험할 함수. true를 반환하면 요소를 유지하고, false를 반환하면 버림

  • element
    처리할 현재 요소

이에 대한 흐름을 정확하게 이해하기 위해 콘솔에 구현해본 결과,

요소로 배열들의 값이 전달됨을 확인할 수 있으며,
callback 함수내에서 조건을 따져서 반환을 시켜보면,

요소 값의 길이가 6보다 큰 요소만 반환되어 출력됨을 확인할 수 있다
이를 축약해서 화살표 함수로 나타내보면 다음과 같다

최종적으로 filter자체를 함수로 따로 구현해보면
아래의 코드처럼 수행된다


네트워크 통신, 사용자의 이벤트 프로그래밍 등에서 콜백함수는 광범위하게 사용되고 있기에 이에 대한 이해는 필수적일 것이다

profile
즐기면서 정확하게 나아가는 웹프론트엔드 개발자 https://happhee-dev.tistory.com/ 로 이전하였습니다

0개의 댓글