Front-End/JavaScript
[JavaScript] 콜백 함수(Callback) 정리
시니철
2024. 9. 11. 17:04
콜백 함수(Callback)란?
콜백 함수란 다른 함수의 인수로 사용하는 함수는 가리킨다. 함수에 파라미터로 들어가는 함수이며, 순차적으로 실행하고 싶을 때 사용한다.
함수 이름 사용해 콜백 함수 실행
const btn = document.querySelector('button');
function display () {
alert('click!');
}
btn.addEventListener('click', display); // 버튼을 클릭하면 display 함수 실행
addEventListener() 함수 안에 display() 함수를 넣을 때 소괄호는 없다는 것에 주의해야 한다.
`addEventListener()` 함수에서 미리 선언한 `display()` 함수를 인수로 사용하고 있다.
이렇게 다른 함수의 인수가 되는 함수를 콜백 함수라고 한다.
함수에 직접 작성해서 콜백 함수 실행
const btn = document.querySelector('button');
btn.addEventListener('click', function () { // 버튼을 클릭하여 alert 실행
alert('click!');
});
함수 이름은 필요할 때마다 여러 번 사용해서 실행하거나 콜백 함수로 사용할 수 있습니다.
하지만 딱 한 번만 함수를 실행한다면 따로 함수를 선언하지 않고 함수에 직접 콜백 함수를 작성하는 방법도 있다.
콜백 함수 간단한 예시
function clickFunc(callback) {
const message = 'click!';
callback(message); // 메시지를 콜백 함수로 전달
}
function showMessage(msg) { // 콜백 함수로부터 메시지를 받음
console.log(msg); // 'click!' 출력
}
clickFunc(showMessage); // clickFunc가 메시지를 전달하고 showMessage가 처리
- `clickFunc(showMessage)`를 호출하면, clickFunc 함수가 실행
- `clickFunc` 함수 내부에서 'click!'이라는 메시지를 준비하고, `showMessage` 함수에 이 메시지를 전달
- `showMessage` 함수는 전달받은 'click!' 메시지를 콘솔에 출력