
즉시 실행 함수(IIFE, Immediately Invoked Function Expression)는 자바스크립트에서 주로 사용되는 패턴 중 하나로, 정의되자마자 즉시 실행되는 함수입니다. 이것은 함수를 정의하고 즉시 실행하고자 할 때 유용합니다. 이러한 패턴은 전역 네임스페이스를 깔끔하게 유지하고 변수의 스코프를 제한하여 충돌을 방지하는 데 도움이 됩니다.
(function() { // 코드 작성 })();
위의 코드는 함수를 선언하고 즉시 실행하는 방식으로 사용됩니다. 이제 이 구문의 세부 내용을 설명해 보겠습니다.
(function() { ... }): 함수를 선언합니다. 함수는 괄호로 둘러싸여 있습니다. 이는 함수 표현식을 사용하여 함수를 만들고 있음을 나타냅니다.
(...): 함수의 인자를 전달할 수 있습니다. 하지만 즉시 실행 함수는 주로 자체 스코프 내에서 실행되므로 인자가 필요하지 않을 때도 괄호를 사용하여 구문을 완성합니다.
{ ... }: 함수의 본문을 포함하는 중괄호 블록입니다. 이 안에는 실행하려는 코드가 들어갑니다.
(): 함수 정의를 닫습니다. 이는 즉시 실행 함수의 특징 중 하나로, 함수 선언을 닫고 즉시 실행을 시작합니다.
즉시 실행 함수는 클로저를 만들어 함수 내에서 선언된 변수의 스코프를 제한할 수 있습니다. 이를 활용하여 모듈 패턴이나 네임스페이스 분리 등에 사용할 수 있습니다.