callback

pbs1014·2022년 4월 24일
0

JS에서의 함수

js의 함수는 일급 객체로서

  • 변수나 데이터안에 담길 수 있다

  • 매개변수로 전달 할 수 있다

  • 반환 값으로 사용할 수 있다

  • 실행도중에 생성될 수 있다

위와 같은 특징을 가지고 있다 이 글의 메인 주제가 될
callback은 매겨변수의 특징을 살려서 적용 되는 부분이다.

callback

콜백함수는 쉽게 말하면 다른 함수에 매개변수로 넘겨준 함수이다.
함수안의 함수라는 개념이라 재귀라고 생각 할 수도 있지만.

  • 매개변수로서 함수를 받아온다.
  • 자기자신에 한정되지 않는다.

라는 차이를 보인다.

function MapFunction(arr) {

    function HoF(arr) {
        return arr.map((el)=>(el+1))
    }
    
    return HoF(arr)
}

arr이라는 매개변수를 받아오는 함수MapFunction
안쪽에 내장함수인 HoF(arr)을 가지고 있다.
HoF(arr)return 되는 arr의 원소들의 값을 +1증가시켜주는 함수이다.

그렇다면 아래의 함수를 보자.

function MapFunction2(callback, arr) {
    let a =[]
  
    return arr.map((el)=>(callback(el)))
}

이 함수는 매개변수로 callback이라는 함수를 매개변수로써 받아온 callback함수이다.

함수 자체의 내용은 arr.map을 통해 원소들을 callback이 적용된(el)로 바꿔주는 함수라는 소리가 된다.

만약 arr이 [1,2,3,4,5]이고 위 callback의 기능이 이것을 문자열로 바꾸는거라면
return값은 arr=["1", "2", "3", "4", "5"]이런식이 되는것인 셈이다.

profile
프론트엔드 개발자 지망생 (react/next/js/ts)

0개의 댓글