[typescript] 타입스크립트 모듈과 네임스페이스에 대한 자세한 설명
타입스크립트에서는 코드를 구성하고 조직화하기 위해 모듈과 네임스페이스를 사용할 수 있습니다. 이 두 가지 기능은 코드의 구조를 개선하고 재사용성을 높여주는 데 도움이 됩니다.
모듈
모듈은 코드를 논리적으로 구분하는 데 사용됩니다. 각 모듈은 자체적인 스코프를 갖고 있으며, 외부에 공개할 항목을 선택적으로 지정할 수 있습니다. 모듈을 사용하여 코드를 분할하고 별도의 파일로 저장할 수 있으며, 다른 모듈에서 필요한 기능을 가져다 사용할 수도 있습니다.
예시:
// math 모듈
export function add(x: number, y: number): number {
return x + y;
}
export function subtract(x: number, y: number): number {
return x - y;
}
위의 예시에서 export
키워드를 사용하여 add
와 subtract
함수를 외부에 공개하고 있습니다.
네임스페이스
네임스페이스는 코드를 논리적인 그룹으로 구조화하는 데 사용됩니다. 여러 파일에 걸쳐 있는 코드를 하나의 네임스페이스로 묶을 수 있고, 이를 통해 코드의 유지보수성과 가독성을 향상시킬 수 있습니다.
예시:
// geometry 네임스페이스
namespace Geometry {
export interface Point {
x: number;
y: number;
}
export function distanceBetweenPoints(point1: Point, point2: Point): number {
const dx = point2.x - point1.x;
const dy = point2.y - point1.y;
return Math.sqrt(dx * dx + dy * dy);
}
}
위의 예시에서 namespace
키워드를 사용하여 Geometry
네임스페이스를 정의하고, 그 안에 Point
인터페이스와 distanceBetweenPoints
함수를 포함시켜 코드를 구조화하고 있습니다.
결론
타입스크립트 모듈과 네임스페이스는 코드의 구조를 개선하고 여러 파일 간의 의존성을 관리하는 데 도움이 됩니다. 모듈은 파일 수준에서, 네임스페이스는 코드 수준에서 구조화를 지원하며, 둘 다 코드의 유지보수성과 재사용성을 향상시키는 데 중요한 도구입니다.
본 포스팅은 타입스크립트 핸드북를 참고하여 작성되었습니다.