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

JavaScript 함수 표현식(Function Expression)이란? 개념부터 예제까지 한눈에 보기

함수 표현식(Function Expression)은 함수를 하나의 변수에 저장하는 방식입니다. 이렇게 저장된 함수는 나중에 변수 이름을 통해 언제든지 호출할 수 있습니다.

일반적인 함수 선언(Function Declaration)과 달리, 함수 표현식은 호이스팅(hoisting)되지 않는다는 중요한 차이점이 있습니다. 따라서 코드에서 함수가 정의되기 이전 위치에서 호출하면 오류가 발생합니다.

JavaScript 함수 표현식의 주요 특징

  • 함수를 변수에 할당하여 값처럼 다룰 수 있습니다.
  • 변수 이름 뒤에 괄호 ()를 붙여 함수를 실행할 수 있습니다.
  • 호이스팅이 적용되지 않아 반드시 정의된 이후에 호출해야 합니다.

다음은 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: 18px;
      font-weight: 500;
      color: rebeccapurple;
   }
</style>
</head>
<body>
<h1>Function expression in JavaScript</h1>
<div class="result"></div>
<button class="Btn">CLICK HERE</button>
<h3>Click on the above button to display a function expression</h3>
<script>
   let resultEle = document.querySelector(".result");
   let a = function () {
      return "This is a function expression";
   };
   document.querySelector(".Btn").addEventListener("click", () => {
      resultEle.innerHTML = " a = " + a + "<br>";
      resultEle.innerHTML += " a() = " + a() + "<br>";
   });
</script>
</body>
</html>

실행 결과

위 코드를 실행하면 다음과 같은 화면이 출력됩니다.

JavaScript 함수 표현식(Function Expression)이란? 개념부터 예제까지 한눈에 보기

'CLICK HERE' 버튼을 클릭하면 아래와 같이 변수 a에 저장된 함수 자체와, a()를 호출했을 때 반환되는 문자열이 함께 표시됩니다.

JavaScript 함수 표현식(Function Expression)이란? 개념부터 예제까지 한눈에 보기

정리

함수 표현식은 익명 함수를 변수에 담아 필요한 시점에 호출할 수 있는 유연한 방법입니다. 다만 호이스팅이 되지 않는다는 점을 기억하고, 항상 함수를 먼저 정의한 뒤 사용하는 것이 좋습니다.