[typescript] 네임스페이스와 모듈화

TypeScript는 JavaScript에 몇 가지 도구와 기능을 추가하여 코드를 조직화하고 유지보수하기 쉽게 만들어줍니다. 이 문서에서는 TypeScript에서의 네임스페이스와 모듈에 대해 알아보겠습니다.

네임스페이스

네임스페이스는 코드를 논리적으로 그룹화하여 이름 충돌을 방지하는 데 사용됩니다. 네임스페이스는 내부 모듈을 사용하여 구현되며, namespace 키워드를 사용하여 선언됩니다.

namespace MyNamespace {
  export interface MyInterface {
    // 인터페이스 내용
  }

  export function myFunction() {
    // 함수 내용
  }
}

위의 예제에서 MyNamespace는 네임스페이스를 나타내고, MyInterfacemyFunction은 해당 네임스페이스 내에서 사용할 수 있는 인터페이스와 함수를 정의합니다. 이렇게 하면 전역 범위의 변수와 함수의 충돌을 피할 수 있습니다.

모듈화

모듈은 관련된 코드를 묶는 데 사용됩니다. TypeScript에서는 모듈을 사용하여 코드를 여러 파일로 나누고 재사용할 수 있도록 합니다. 모듈은 export 키워드로 외부로 공개할 수 있습니다.

// myModule.ts
export interface MyInterface {
  // 인터페이스 내용
}

export function myFunction() {
  // 함수 내용
}
// main.ts
import { MyInterface, myFunction } from './myModule';

// 모듈의 함수와 인터페이스 사용
let obj: MyInterface = { /* 객체 내용 */ };
myFunction();

위의 예제에서 myModule.ts는 모듈을 선언하고, main.ts에서 해당 모듈을 가져와 사용하는 방법을 보여줍니다. 모듈을 사용하면 코드를 더욱 구조화하고 재사용성을 높일 수 있습니다.

결론

TypeScript에서의 네임스페이스와 모듈은 코드를 논리적으로 구조화하고 이름 충돌을 방지하는 데 도움을 줍니다. 이러한 도구들을 잘 활용하여 코드를 작성하면 유지보수와 확장이 쉬워지며, 팀 프로젝트에서 협업할 때도 효율적으로 작업할 수 있습니다.

더 많은 정보는 TypeScript 공식 문서를 참고하세요.