데브허브 | DEVHUB | 자바스크립트 - 콜백 Callback 함수자바스크립트 - 콜백 Callback 함수
- 콜백 함수는 다른 함수를 호출할 때 인자로 전달되어 나중에 실행되는 함수를 의미합니다. 🤝
- 함수는 소괄호 없이 전달되면 데이터로 취급되며, 소괄호를 붙여야만 실행됩니다. 괄호의 유무가 실행 여부를 결정합니다. ⚙️
- 콜백 함수를 인자로 받은 함수 내에서 콜백을 실행하려면 반드시
callback()과 같이 소괄호를 붙여 호출해야 합니다. 🚀
setTimeout과 같은 비동기 함수 내에서 값을 반환하더라도, 해당 값은 setTimeout의 콜백 스코프 내에서만 유효하며, 상위 함수가 즉시 반환하는 값과는 다릅니다. ⏳
- 비동기 작업의 결과를 외부로 전달하려면, 결과를 인자로 받는 콜백 함수를 전달하여 비동기 작업 완료 시 해당 콜백을 호출하는 방식으로 처리해야 합니다. 📬
sum 예제에서 setTimeout 내부의 return은 sum 함수 자체의 반환 값에 영향을 주지 않아 undefined가 출력되는 현상을 보여주며, 이는 비동기 처리의 중요한 특성입니다. 👻
add 예제는 비동기 작업 완료 후 콜백 함수를 통해 결과를 전달받아 처리하는 올바른 콜백 패턴을 시연합니다. ✅