[typescript] 네임스페이스를 사용하여 타입 정의를 그룹화하는 방법

네임스페이스(namespace)는 TypeScript에서 모듈화된 타입 정의를 그룹화하기 위한 기능입니다. 네임스페이스를 사용하면 큰 프로젝트에서 타입을 더 잘 정리하고 구조화할 수 있습니다. 이 기능은 코드를 구조화하고 관리하기 쉽게 만들어줍니다.

네임스페이스 생성하기

다음과 같이 namespace 키워드를 사용하여 네임스페이스를 생성할 수 있습니다.

namespace Shapes {
  export interface IShape {
    name: string;
    width: number;
    height: number;
  }
}

위 예제에서는 Shapes 네임스페이스 안에 IShape 인터페이스를 정의하고 있습니다.

네임스페이스 사용하기

네임스페이스 안에 있는 타입을 사용하기 위해서는 다음과 같이 네임스페이스의 이름을 포함하여 타입을 참조합니다.

let shape: Shapes.IShape = {
  name: "rectangle",
  width: 10,
  height: 20,
};

위 예제에서는 Shapes.IShape를 사용하여 shape 변수의 타입을 지정하고 있습니다.

네임스페이스 내보내기

export 키워드를 사용하여 네임스페이스 안의 타입을 외부에서 사용할 수 있도록 내보낼 수 있습니다.

namespace Shapes {
  export interface IShape {
    name: string;
    width: number;
    height: number;
  }
}

위 예제에서 IShape 인터페이스를 export 키워드를 통해 외부에 공개하고 있습니다.

요약

네임스페이스를 사용하면 TypeScript에서 모듈화된 타입을 그룹화하여 구조화할 수 있습니다. 이를 통해 프로젝트의 코드를 더욱 관리하기 쉽게 만들 수 있습니다.

자세한 내용은 TypeScript 공식 문서를 참고하실 수 있습니다.