[typescript] 네임스페이스와 모듈화
TypeScript는 JavaScript에 몇 가지 도구와 기능을 추가하여 코드를 조직화하고 유지보수하기 쉽게 만들어줍니다. 이 문서에서는 TypeScript에서의 네임스페이스와 모듈에 대해 알아보겠습니다.
네임스페이스
네임스페이스는 코드를 논리적으로 그룹화하여 이름 충돌을 방지하는 데 사용됩니다. 네임스페이스는 내부 모듈을 사용하여 구현되며, namespace
키워드를 사용하여 선언됩니다.
namespace MyNamespace {
export interface MyInterface {
// 인터페이스 내용
}
export function myFunction() {
// 함수 내용
}
}
위의 예제에서 MyNamespace
는 네임스페이스를 나타내고, MyInterface
와 myFunction
은 해당 네임스페이스 내에서 사용할 수 있는 인터페이스와 함수를 정의합니다. 이렇게 하면 전역 범위의 변수와 함수의 충돌을 피할 수 있습니다.
모듈화
모듈은 관련된 코드를 묶는 데 사용됩니다. 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 공식 문서를 참고하세요.