[JavaScript 기본] 콜백 함수

2025. 11. 1. 11:50·React/JavaScript 기본

자바스크립트에서는 함수도 하나의 값으로 취급할 수 있음

즉, 함수를 인수로 전달하거나 반환값으로 사용할 수 있음 -> 이런 특성 덕분에 콜백 함수가 가능함!


1. 콜백 함수란?

  • 콜백함수는 "다른 함수의 인자로 전달되어, 그 함수 내부에서 나중에 실행되는 함수"를 말함
function main(value) {
  console.log(1);
  console.log(2);
  value(); // 인수로 받은 함수 실행
  console.log("end");
}

function sub() {
  console.log("this is sub");
}

main(sub);
  • 실행 순서
1  
2  
this is sub  
end
  • 여기서 `sub`는 `main`의 인수로 전달되어, `main` 내부에서 실행되므로 콜백 함수라고 부름

2. 콜백 함수의 필요성

  • 비슷한 동작을 여러 함수로 반복할 때, 콜백으로 중복 제거 가능
// 중복된 코드
function repeat(count) {
  for (let i = 1; i <= count; i++) {
    console.log(i);
  }
}

function repeatDouble(count) {
  for (let i = 1; i <= count; i++) {
    console.log(i * 2);
  }
}

repeat(5);
repeatDouble(5);

-> 두 함수는 거의 동일하고, 출력 로직만 다름


위 코드를 콜백 함수로 개선하면?

function repeat(count, callback) {
  for (let i = 1; i <= count; i++) {
    callback(i); // 전달받은 콜백 실행
  }
}

// 숫자 출력
repeat(5, function (i) {
  console.log(i);
});

// 2배 출력
repeat(5, function (i) {
  console.log(i * 2);
});
  • 이렇게 하면 반복 로직은 `repeat` 함수 하나에 집중되고, 세부 동작은 콜백 함수로 분리되어 유연해짐!

또 콜백 함수를 화살표 함수로 간결하게 표현하면?

repeat(5, (i) => {
  console.log(i)
)};     // 1,2,3,4,5

repeat(5, (i) => {
  console.log(i * 2)
)};		// 2,4,6,8,10

 

'React > JavaScript 기본' 카테고리의 다른 글

[JavaScipt 기본] 객체(object)  (0) 2025.11.02
[JavaScript 기본] 스코프  (0) 2025.11.02
[JavaScript 기본] 함수 표현식 & 화살표 함수  (0) 2025.10.31
[JavaScript 기본] 함수 정리  (0) 2025.10.29
[JavaScript 기본] 반복문  (0) 2025.10.29
'React/JavaScript 기본' 카테고리의 다른 글
  • [JavaScipt 기본] 객체(object)
  • [JavaScript 기본] 스코프
  • [JavaScript 기본] 함수 표현식 & 화살표 함수
  • [JavaScript 기본] 함수 정리
이도서
이도서
  • 이도서
    도서의 코딩노트
    이도서
  • 전체
    오늘
    어제
    • 분류 전체보기 (249)
      • Today I Learned (79)
        • 2024 (78)
      • Swift (25)
        • Swift 문법 정리 (19)
        • RxSwift (5)
      • Swift Study (12)
        • Playground (2)
        • Storyboard (9)
        • UIKit (1)
      • Flutter (27)
        • Dart 언어 (16)
        • Flutter Study (11)
      • React (37)
        • HTML & CSS (8)
        • JavaScript 기본 (12)
        • JavaScript 심화 (14)
        • Node.js (2)
        • React (1)
      • Git (3)
      • 코딩테스트 (60)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

    • 개발 공부 공유 링크
  • 인기 글

  • 태그

    iOS앱개발
    function
    React
    CLASS
    DART
    함수
    코딩테스트 level.1
    내일배움캠프
    Flutter
    Til
    ios
    코딩테스트
    객체지향
    html
    storyboard
    Swift
    ios앱개발자
    javascript 기본
    코딩테스트Level.1
    javascript
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
이도서
[JavaScript 기본] 콜백 함수
상단으로

티스토리툴바