자바스크립트 리뷰

혼공자 콜백함수

가문비7 2023. 4. 3. 23:50

자바스크립트에서는 함수도 다른 함수의 매개변수로 전달할 수 있다. 함수도 객체이다. 객체의 모든 속성을 갖고 있다. 

 

그래서 아래와 같은 코드가 존재한다.

      // 함수를 선언합니다.
      function callThreeTimes (callback) {
        for (let i = 0; i < 3; i++) {
          callback(i)
        }
      }

      function print (a) {
        console.log(`${a}번째 함수 호출`)
      }

      // 함수를 호출합니다.
      callThreeTimes(print)
     

맨아랫줄의 호출을 했는데 그럼 어떻게 되는걸까?

 

callThreeTimes 안에 print 함수가 매개변수로 들어간다. callThreeTimes 안에서 print의 매개변수는 i 가되므로 반복문에 따라서 console창에는 아래처럼 뜨게 된다.

0번째 함수 호출
1번째 함수 호출
2번째 함수 호출