함수에 파라미터로 들어가는 함수
순차적으로 실행시키고 싶을때 사용
document.querySelector('.btn').addEventListner('click',function(){명령}) //함수: addEventLister() 콜백함수: function() // 순차적으로 1.addEventLister()의 click실행; // 2.function()의 명령 실행.
함수안에 직접 명령을 입력할 수 도 있지만,
이미 다른곳에 만들어 놓은 함수도 콜백 함수로 넣을 수 있음. -> 함수명만 추가
function 함수명(){}
함수명을 임의로 지정할 수 있음
콜백함수가 필요한 특정 함수들에만 사용할 수 있음
addEventLister(); setTimeout(); 등등...
안정적으로 코드를 순차적으로 사용할 수 있다.
콜백함수를 쓰지 않고 차례대로 나열 해도 같은 결과가 나오지만, 함수가 비동기 처리가 되는등의 상황을 만나면 제대로 작동하지 않을수 있다.
[ ▶️ 비동기 처리?
자바스크립트의 비동기 처리란 특정 코드의 연산이 끝날 때까지 코드의 실행을 멈추지 않고 다음 코드를 먼저 실행하는 자바스크립트의 특성 ]
예)
A 가 만들어둔 좋은 함수가 있다.
B와C는 이 함수를 사용하고 싶지만 다음에 실행하고 싶은 기능이 다르다.
그럴때 콜백함수를 사용하면 안전하게 사용가능function a (콜백함수명){ A가 만들어둔 유용한 명령; 콜백함수명(); } function b (){ B가원하는 명령; } function b (){ C가원하는 명령; } a(b) // a명령이 실행된 후 b함수가 실행 a(c) // a명령이 실행된 후 c함수가 실행.