생성자 함수를 활용한 자바스크립트 네임스페이스 패턴 구현 방법

자바스크립트에서 네임스페이스 패턴은 전역 스코프를 오염시키지 않고 코드를 구성하는데 도움이 됩니다. 네임스페이스 패턴을 구현하는 여러 가지 방법 중 한 가지는 생성자 함수를 사용하는 것입니다. 생성자 함수를 활용하여 네임스페이스를 정의하고 객체들을 그 안에 캡슐화할 수 있습니다.

// 네임스페이스 생성자 함수
function MyNamespace() {
  this.myProperty = 'MyProperty'; // 네임스페이스 내의 속성
  this.myMethod = function() {
    // 네임스페이스 내의 메소드
    console.log('MyMethod has been called');
  };
}

// 네임스페이스 객체 생성
var myApp = new MyNamespace();

이제 myApp 객체는 MyNamespace 생성자 함수를 통해 생성된 네임스페이스입니다. 이 네임스페이스는 myProperty라는 속성과 myMethod라는 메소드를 가지고 있습니다.

이 두 가지 멤버를 사용하기 위해서는 myApp 객체를 통해 접근해야 합니다.

console.log(myApp.myProperty); // 'MyProperty' 출력
myApp.myMethod(); // 'MyMethod has been called' 출력

이 방법으로 네임스페이스 패턴을 구현하면 전역 스코프를 깨끗하게 유지할 수 있으며, 속성과 메소드를 캡슐화하여 코드를 모듈화할 수 있습니다.

위 코드에서 정의한 MyNamespace 생성자 함수로 다른 객체를 생성할 수도 있습니다. 이렇게 하면 동일한 네임스페이스에 여러 객체를 추가로 포함시킬 수 있습니다.

var anotherObject = new MyNamespace();
console.log(anotherObject.myProperty); // 'MyProperty' 출력

#javascript #네임스페이스