[javascript] 모듈 패턴에서 이름 충돌을 방지하는 방법은 무엇인가요?

1. 네임스페이스 사용: 모든 모듈을 단일 객체에 추가하여 전역 네임스페이스 오염을 방지합니다. 예를 들어, 다음과 같이 객체를 생성하여 모듈을 추가할 수 있습니다.

var MyModule = MyModule || {};

MyModule.subModule1 = (function() {
    // 모듈 코드
})();

MyModule.subModule2 = (function() {
    // 다른 모듈 코드
})();

2. 즉시 실행 함수: 각각의 모듈을 즉시 실행 함수로 둘러싸서 지역 스코프를 생성합니다. 이를 통해 모듈 간의 변수 충돌을 방지할 수 있습니다.

var Module1 = (function() {
    // 모듈1 코드
})();

var Module2 = (function() {
    // 모듈2 코드
})();

이러한 방법을 통해 모듈 간의 이름 충돌을 방지할 수 있으며, 코드의 유지 보수성과 확장성을 높일 수 있습니다.