본문 바로가기
IT 개발/JavaScript

[javascript] 모듈 이해하기

by Love of fate 2023. 4. 16.
728x90
반응형

[모듈 이해하기]

 

모듈은 파일이나 코드의 묶음 단위로 애플리케이션 하나의 구성요소로 볼 수 있다.

이렇게 모듈로 정의하면 모듈 단위로 코드를 재사용 할 수 있고, 하나의 애플리케이션이라는 큰 기능을 작은 기능 단위로 잘게 분리하여 관리할 수 있다.

var namespaceA = (function(){
	var privateVariable = '비공개 변수';
    return {
    	publicApi : function(){
        	console.log(priavteVariable + '를 접근할 수 있습니다.');
        }
    }
})();

namespaceA.publicApi();

기본적으로 변수와 함수를 선언하게 되면 전역으로 정의되어 다른 라이브러리나 타인의 코드에서 정의된 이름들과 충돌이 날 수 있기 때문이다.

 

var 키워드로 생성된 변수의 스코프는 함수이기 때문에 네임스페이스안에 정의된 변수들은 그 외부에서 접근을 못한다.

 

즉각 호출 패턴인 (function(){//코드})(); 를 통하여 namespaceA의 변수에 함수에서 반환된 객체를 할당한다.

 

함수 안에 선언된 변수는 함수 내부에서만 접근이 가능하기 때문에 비공개 영역이 된다.

바환되는 객체는 namespaceA에 할당되고, 외부에서 접근이 가능하기 때문에 해당 객체의 속성과 메소드들은 공개 API가 된다.

 

728x90
반응형