[javascript] 자바스크립트 에러 핸들링에서 익명 함수와 콜백 함수의 차이점

자바스크립트에서는 익명 함수와 콜백 함수를 사용하여 에러를 핸들링할 수 있습니다. 이 두 가지 함수의 차이에 대해 알아보겠습니다.

익명 함수

익명 함수는 이름을 갖지 않는 함수로, 주로 함수 표현식 또는 콜백으로 사용됩니다. 아래는 익명 함수를 사용한 예시입니다.

const divideNumbers = function(a, b) {
  try {
    if (b === 0) {
      throw new Error('Divisor cannot be zero');
    }
    return a / b;
  } catch (error) {
    console.error('Error: ' + error.message);
    // 에러를 처리하는 코드
  }
};

divideNumbers(6, 0);

위 예시에서 divideNumbers 함수는 익명 함수로 정의되어 있습니다.

콜백 함수

콜백 함수는 다른 함수의 매개변수로 전달되는 함수로, 특정 이벤트 발생 시 호출됩니다. 아래는 콜백 함수를 사용한 예시입니다.

function fetchData(url, callback) {
  fetch(url)
    .then(response => response.json())
    .then(data => callback(null, data))
    .catch(error => callback(error, null));
}

function handleData(error, data) {
  if (error) {
    console.error('Error: ' + error.message);
    // 에러를 처리하는 코드
  } else {
    // 데이터를 처리하는 코드
  }
}

fetchData('https://example.com/api/data', handleData);

위 예시에서 handleData 함수가 콜백 함수로 사용되었습니다.

익명 함수와 콜백 함수의 차이점

주요 차이점은 다음과 같습니다:

이렇듯 자바스크립트에서 익명 함수와 콜백 함수는 에러 핸들링을 비롯한 다양한 상황에서 유용하게 활용됩니다. 적절한 상황에 맞게 선택하여 사용하는 것이 중요합니다.