모듈과 네임스페이스

모듈과 네임스페이스

자바스크립트에서 전역 변수를 정의할 때마다 해당 변수가 다른 코드에 의해 덮어쓰일 수 있다는 위험을 무릅써야 한다. 따라서 모듈을 작성하고 싶다면 전역 변수를 정의하는 일을 피해야 하고 여러분의 작성하는 모듈에 대한 메서드와 프로퍼티를 모두 해당 모듈에 특화해서 만든 네임스페이스 안에 정의해야 한다.

자바스크립트에는 네임스페이스에 대해 특별히 지원하는 바가 없지만 자바스크립트 객체를 그러한 목적으로 사용할 수 있다. 먼저 네임스페이스 객체를 정의한 다음 전역 객체가 아닌 해당 네임스페이스 객체 안에 모듈 메서드를 정의하고 저장한다.

모듈과 네임스페이스 예제

모듈과 네임스페이스 예제는 다음과 같다.

// 전역 변수 정의
var itinpractice;

// undefined이면 그것을 객체로 만듬
if (!itinpractice) itinpractice = {}

// 네임스페이스 생성: itinpractice.Module1
itinpractice.Module1 = {}

// 네임스페이스를 메서드로 채움
itinpractice.Module1.method1 = function(){
    console.log("This is itinpractice.Module1.method1");
}
itinpractice.Module1.method2 = function(){
    console.log("This is itinpractice.Module1.method2");
}

// 메서드 호출
itinpractice.Module1.method1();
itinpractice.Module1.method2();

위 코드를 실행한 결과는 다음과 같다.

This is itinpractice.Module1.method1
This is itinpractice.Module1.method2

관련 수업

← 이전다음 →