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

JavaScript에서 함수 이름 앞에 더하기(+) 기호를 사용하는 이유는 무엇일까?

JavaScript에서 함수 이름 앞의 더하기(+) 기호란?

JavaScript에서 +function() {} 표기법은 주로 파서(parser)가 더하기 기호 뒤에 오는 코드를 표현식(expression)으로 해석하도록 강제하는 데 사용됩니다. 일반적으로 function 키워드로 시작하는 문장은 함수 선언문으로 간주되어 바로 실행할 수 없지만, 앞에 +를 붙이면 함수 표현식으로 변환되어 즉시 호출이 가능해집니다.

이러한 방식은 주로 즉시 실행 함수(IIFE, Immediately Invoked Function Expression)를 만들 때 활용됩니다.

+function() { alert("Demo!"); }();

더하기 외에 사용할 수 있는 다른 기호들

함수 앞에 붙일 수 있는 기호는 +만 있는 것은 아닙니다. !, -, ~ 같은 단항 연산자도 동일하게 함수를 표현식으로 만드는 효과를 냅니다.

!function() { alert("Demo!"); }();
-function() { alert("Demo!"); }();
~function() { alert("Demo!"); }();

괄호를 사용하는 전통적인 방법

가장 널리 쓰이는 방법은 역시 괄호를 활용하는 것입니다. 아래와 같이 함수 전체를 감싸고 뒤에서 호출하는 형태로 작성할 수 있습니다.

(function() { alert("Demo!"); })();

또는 호출 괄호까지 함께 감싸는 다음과 같은 형태로도 사용할 수 있습니다.

(function() { alert("Demo!"); }());

두 방식 모두 결과적으로 동일하게 동작하며, 코드 스타일이나 팀 컨벤션에 따라 선호되는 형태가 다를 수 있습니다. 핵심은 function으로 시작하는 선언문을 표현식으로 바꿔 즉시 실행할 수 있게 만든다는 점입니다.