인프런 커뮤니티 질문&답변

강태민님의 프로필 이미지
강태민

작성한 질문수

[2024] 한입 크기로 잘라 먹는 리액트(React.js) : 기초부터 실전까지

1.10) 반복문

함수 동작 원리가 궁금합니다.

해결된 질문

작성

·

355

0


function checkmood(mood, goodCallback, bacCallback) {
  if (mood === "good") {
    goodCallback();
  } else {
    bacCallback();
  }
}

checkmood("good", sing, cry);

function sing() {
  console.log("sing");
}

function cry() {
  console.log("cry");
}

checkmood("good", sing, cry) 이 부분에서 sing이 함수이지만 값으로 들어갔는데,

함수 인자는 값으로만 들어가는걸까요?!

답변 1

2

콜백(call back)함수란 다른 함수의 매개 변수로 전달되어 수행하는 '함수' 입니다.


제가 작성자 님의 질문을 제대로 이해 했는지 잘 모르겠지만 작성자 님께서는 해당 코드에서 sing() 함수의 값만 전달 되는지에 대해 궁금해 하시는 거 같은데 위에 콜백 함수 정의처럼 함수 자체가 전달 되는 것 입니다. 위 코드에 checkmood 함수에서 3개의 매개 변수를 받는 다고 하였으니 goodCallback 부분에 sing() 함수가 자체가 들어가 실행 되는 겁니다. 그러니 goodCallback(); 부분은 아래와 같이 해석할 수 있지요.

goodCallback(); = function sing() { console.log("sing"); }

강태민님의 프로필 이미지
강태민

작성한 질문수

질문하기