Computer >> 컴퓨터 >  >> 프로그래밍 >> JavaScript

JavaScript에서 콜백(Callback)으로 함수 전달하는 방법

JavaScript에서 콜백(Callback)으로 함수 전달하기

JavaScript에서 함수는 일급 객체(first-class citizen)로 취급되기 때문에, 변수에 저장하거나 다른 함수의 인자로 자유롭게 전달할 수 있습니다. 이처럼 다른 함수에 인자로 넘겨지는 함수를 콜백(callback)이라고 부르며, 이벤트 처리와 비동기 프로그래밍에서 핵심적인 역할을 담당합니다.

다음은 JavaScript에서 함수를 콜백으로 전달하는 코드입니다.

예제

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Document</title>
<style>
   body {
      font-family: "Segoe UI", Tahoma, Geneva, Verdana, sans-serif;
   }
   .result {
      font-size: 20px;
      font-weight: 500;
      color: blueviolet;
   }
</style>
</head>
<body>
<h1>Passing a function as a callback</h1>
<div class="result"></div>
<button class="Btn">CLICK HERE</button>
<h3>Click on the above button to pass the add2() function as callback to multiply9() function</h3>
<script>
   let resEle = document.querySelector(".result");
   function add2(a) {
      return a + 2;
   }
   function multiply9(fn, num) {
      return fn(num) * 9;
   }
   document.querySelector(".Btn").addEventListener("click", () => {
      resEle.innerHTML = "The number returned = " + multiply9(add2, 12);
   });
</script>
</body>
</html>

코드 동작 원리

  • add2(a) : 전달받은 숫자에 2를 더해 반환하는 간단한 함수입니다.
  • multiply9(fn, num) : 첫 번째 매개변수로 함수 자체를 받습니다. 내부에서 fn(num) 형태로 콜백 함수를 호출한 뒤, 그 반환값에 9를 곱해 돌려줍니다.
  • 버튼을 클릭하면 multiply9(add2, 12)가 실행되어, add2(12)의 결과인 14에 9를 곱한 최종 값 126이 화면에 표시됩니다.

출력 결과

JavaScript에서 콜백(Callback)으로 함수 전달하는 방법

'CLICK HERE' 버튼을 클릭하면 −

JavaScript에서 콜백(Callback)으로 함수 전달하는 방법