
261
Chapter 11_
네임스페이스 패턴
11.6
즉시 실행 함수 표현식 패턴
이전에 즉시 실행 함수 표현식
Immediately
Invoked
Function
Expressions
(
IIFE
)의 개념에 대해 간략하게
다룬 적이 있습니다. 즉시 실행 함수는 정의 직후 바로 실행되는, 이름이 없는 함수입니다.
아마 익숙하신 분도 계실텐데, 자기 실행 (혹은 자기 호출 ) 익명 함수라고 들어보셨을 겁니
다. 저는 개인적으로 벤 알만
Ben
Alman
이 즉시 실행 함수라고 칭한 것이 더 정확하다고 생각합
니다. 자바스크립트에서는 즉시 실행 함수로 정의된 내부의 변수와 함수 모두 외부에서 접근
할 수 없습니다. 따라서, 함수를 호출하는 것만으로도 쉽게 코드의 은닉성을 구현할 수 있습
니다.
즉시 실행 함수는 애플리케이션의 로직을 캡슐화하여 전역 네임스페이스로부터 보호하는 데
널리 사용되는 방법입니다. 하지만 이러한 특징은 네임스페이스의 영역에서도 유용하게 활
용될 수 있습니다. 다음은 즉시 실행 함수의 예시입니다.
// 즉석에서 호출되는 (익명의) 함수 표현식
(() => { /*...*/})();
// 이름이 있는 즉시 실행 함수 표현식
(function foobar () { /*..*/}());
// 문법적으로는 자기 실행 함수지만 앞의 예시들과는 꽤 다릅니다. ...