본문 바로가기
JavaScript

[Javascript] Callback 함수란 무엇일까?

by 쁘니쁘나 2021. 7. 28.

✨ CALLBACK 함수란?

Javascript 를 공부하던 도중 Callback 함수라는 것이 나왔다.

Callback 함수가 도대체 무엇이길래 Callback, Callback 하는 것일까?

일단 내가 이해한 대로 정리해본다.

• 말 그대로 콜백. 나중에 실행되는 함수이다.
• 개발자가 함수를 선언하여 호출하는 함수가 아닌, 함수 내부 or 다른 이벤트에 의해 호출되는 함수이다.

 

 

코드를 보며 더 자세히 알아보자.

 

function randomQuiz(answer, printYes, printNo) { 
    if (answer === 'love you') {
        printYes(); 
    } else {
        printNo(); 
    }
}

const printYes = () => console.log('I love you too❤');

const printNo = () => console.log('No!');

randomQuiz('love you' , printYes, printNo);

 

위의 코드의 맨 아래 randomQuiz('love you', printYes, printNo); 는 함수를 선언한 것이다.

이렇게 개발자가 함수를 선언한 것은 콜백 함수라 하지 않는다.

 

하지만 randomQuiz 함수가 호출될 때 두 번째, 세 번째 인자로 들어간 printYes, printNo는 개발자가 실행시켜 달라고 선언하거나 호출하지는 않았지만 randomQuiz가 실행되면서 내부에서 실행시키는 함수로,

이렇게 내부에서 실행되도록 인자로 받은 printYes, pirntNo를 콜백함수라고 한다.

 

또한 이러한 콜백 함수는 비동기 방식에서 사용되는데 다음 시간에는 이 비동기 방식이 무엇인지 알아보도록 하자.

https://mynameisleeminee.tistory.com/45

 

[Javascript] javascript에서의 동기와 비동기방식

✨ 동기방식 & 비동기방식 이란? javascript의 Promis, async, await를 배우며 콜백 함수, 동기방식, 비동기 방식이라는 용어가 등장하였다. 콜백 함수는 아래에 따로 작성해 놓았다. https://mynameisleeminee.ti.

mynameisleeminee.tistory.com

 

 

 

댓글