04. JavaScript Patterns - 함수(5) >> 즉시 실행 함수 계속..

04. JavaScript Patterns - 함수(5) >> 즉시 실행 함수 계속..

즉시 실행 함수 패턴은 다른 말로 자기 호출(self-invoking) 또는 자기 실행(self-executing) 함수라고도 부른다. 그 이유는 함수 자신이 선엄 됨과 동시에 실행되기 때문이다.

장점과 사용 방법

즉시 실행 함수 패턴은 폭넑게 사용된다. 전역 변수를 남기지 않고 많은 작업을 할 수 있게 해 준다. 선언된 모든 변수는 스스로를 호출하는(self-invoking) 함수의 지역 변수가 되기 때문에 임시 변수가 전역 공간을 어지럽힐까봐 걱정하지 않아도 된다.

이 패턴은 북마클릿(bookmarklet)에서도 자주 쓰인다. 북마클릿은 어떤 페이지에서도 실행될 수 있고 전역 네임스페이스를 깨끗하게 유지하면서 무간섭적인 상태에서도 유지하는 것이 매우 중요하기 때문이다.

즉시 실행 함수 페턴을 사용해 개별 기능을 독자적인 모듈로 감쌀 수도 있다. 페이지가 정적이고 자바스크립트 없이도 잘 동작한다고 가정해보자. 점진적인 개선의 측면에서 약간의 코드를 추가해 페이지에 어느 정도 기능을 추가하려고 한다. 이 코드(또는 모듈이나 기능)를 즉시 실행 함수로 감싸고 페이지에 추가된 코드가 있을 때와 없을 때 잘 동작하는지 확인한다. 그러고 나서 더 많은 개선 사항을 추가하거나 제거할 수도 있고 개별로 테스트할 수도 있으며, 사용자가 비활성화할 수 있게 하는 등의 작업을 할 수 있다.

다음 템플릿을 활용하면 기능을 단위별로 정의할 수 있다. 이것을 module이라고 부르자.

// module.js 에서 정의한 module1 (function () { // 모든 module1 코드... }());

이 템플릿을 따라 또 다른 모듈도 코딩할 수 있다. 그리고 실제 사이트에 코드를 올릴 때, 어떤 기능이 사용될 준비가 되었는지 결정하고 빌드 스크립트를 사용해 해당하는 파일들을 병합하면 된다.

이 글은 JavaScript Patterns을 읽고 작성한 글입니다.

JavaScript Patterns, by Stoyan Stefanov (O'REilly). Copyright Yahoo!, Inc,9780596806750

from http://dahyehan.tistory.com/54 by ccl(S) rewrite - 2021-11-15 04:28:23