[javascript] 익명 함수와 콜백 함수의 비동기 처리 방식

자바스크립트에서 비동기 처리를 하기 위해 익명 함수와 콜백 함수를 사용하는데, 두 가지의 차이점을 알아보도록 하겠습니다.

익명 함수(Anonymous Function)

익명 함수는 이름이 없는 함수로, 주로 다른 함수의 매개변수로 전달되거나 즉시 실행될 때 사용됩니다. 아래는 익명 함수의 예시입니다.

setTimeout(function() {
  console.log('이것은 익명 함수입니다.');
}, 1000);

위의 코드에서 setTimeout 함수에 첫 번째 매개변수로 익명 함수가 전달되었습니다. 이 함수는 1초 뒤에 실행됩니다.

콜백 함수(Callback Function)

콜백 함수는 다른 함수의 매개변수로 전달되어 나중에 호출되는 함수입니다. 주로 비동기 처리에서 많이 사용됩니다. 아래 코드는 콜백 함수의 예시입니다.

function fetchData(callback) {
  setTimeout(function() {
    const data = '데이터가 도착했습니다.';
    callback(data);
  }, 2000);
}

fetchData(function(data) {
  console.log(data);
});

위의 코드에서 fetchData 함수는 콜백 함수를 매개변수로 받아 2초 후에 실행하고 있습니다. 따라서 fetchData 함수를 호출하면 2초 후에 콜백 함수가 실행되어 ‘데이터가 도착했습니다.’가 출력됩니다.

결론

익명 함수와 콜백 함수는 비동기 처리를 위해 사용되는데, 익명 함수는 주로 다른 함수의 매개변수로 전달되고 즉시 실행되는 함수이며, 콜백 함수는 다른 함수의 매개변수로 전달되어 나중에 호출되는 함수입니다.

이 두 가지 함수는 각각의 상황에 맞게 적절히 활용되어야 합니다.

더 많은 정보를 원하시면 MDN Web Docs를 참고하시기 바랍니다.