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

자바스크립트(JavaScript)에서 함수를 정의하는 4가지 방법

자바스크립트에서는 여러 가지 방법으로 함수를 정의할 수 있습니다. 대표적인 방법으로 기본 함수 선언, 즉시 실행 함수(IIFE), 익명 함수, 그리고 함수 생성자가 있으며, 각각의 특징과 사용법을 아래에서 자세히 살펴보겠습니다.

1. 기본 함수 정의

자바스크립트에서 함수를 정의하는 가장 일반적인 방법은 function 키워드를 사용하는 것입니다. function 키워드 뒤에 고유한 함수 이름, 매개변수 목록(비어 있을 수 있음), 그리고 중괄호로 감싼 코드 블록을 작성하면 됩니다.

다음은 일반적인 함수 정의 예제입니다.

<script>
   <!--
      function Display()
      {
         alert("Hello World!");
      }
   //-->
</script>

2. 즉시 실행 함수(IIFE)

자바스크립트에서 함수를 정의하는 또 다른 방법은 즉시 실행 함수(Immediately Invoked Function Expression, IIFE)입니다. 코드를 함수 스코프로 감싸면 네임스페이스를 관리하고 멤버 함수의 가시성을 제어할 수 있으며, 다른 라이브러리와의 이름 충돌 가능성도 줄일 수 있습니다. 이러한 패턴을 흔히 IIFE(즉시 실행 함수 표현식) 또는 자체 실행 익명 함수(Self Executing Anonymous Function)라고 부릅니다.

문법

기본 문법은 다음과 같습니다.

(function() {
   // 코드
})();

위 코드에서 첫 번째 괄호 쌍은 괄호 안의 코드를 하나의 표현식으로 변환합니다.

function(){...}

이어지는 두 번째 괄호 쌍이 실제 연산을 수행합니다. 즉, 앞서 만든 표현식으로부터 반환된 함수를 즉시 호출하는 역할을 합니다.

3. 익명 함수

익명 함수는 항상 변수 이름에 할당된 형태로 사용됩니다. 이름 그대로 익명(anonymous) 함수는 별도의 식별자 없이 함수를 생성할 수 있게 해주며, 다른 함수의 인수로 전달하는 용도로도 활용할 수 있습니다. 호출할 때는 변수 이름을 사용합니다.

다음은 자바스크립트 익명 함수의 사용 예입니다.

var func = function() {
   alert('This is anonymous');
}
func();

예제

// 익명 함수
var a = function() {
   return 5;
}

4. 함수 생성자(Function Constructor)

function() 생성자는 자바스크립트에서 새로운 함수 객체를 생성할 때 사용됩니다. 이 방식으로 생성된 객체는 함수가 생성되는 시점에 파싱된다는 점이 특징입니다.

다음 코드를 실행하면 function() 생성자의 동작 방식을 직접 확인할 수 있습니다.

<html>
   <body>
      <script>
         var num = new Function('p', 'q', 'r', 'return p * q * r');
         document.write("Value after multiplication: "+num(5, 2, 9));
      </script>
   </body>
</html>