[typescript] 타입 별칭과 인터페이스를 사용하여 컴파일 시간 상수 타입 정의하기

타입스크립트는 타입 시스템을 통해 컴파일 시간 상수 타입을 정의하는 강력한 기능을 제공합니다. 이를 통해 코드의 가독성과 유지 보수성을 높일 수 있습니다. 타입 별칭(Type Alias)인터페이스(Interface)를 사용하여 컴파일 시간 상수 타입을 정의하는 방법에 대해 알아보겠습니다.

타입 별칭(Type Alias)

타입 별칭은 기존 타입에 새로운 이름을 지정할 수 있는 기능입니다. 이를 사용하여 컴파일 시간 상수 타입을 정의할 수 있습니다. 아래는 타입 별칭을 사용하여 간단한 상수 타입을 정의하는 예제입니다.

type Color = 'Red' | 'Green' | 'Blue';
type HttpMethod = 'GET' | 'POST' | 'PUT' | 'DELETE';

위 예제에서 ColorHttpMethod는 각각 문자열 상수 'Red', 'Green', 'Blue''GET', 'POST', 'PUT', 'DELETE'를 나타내는 타입으로 정의됩니다.

인터페이스(Interface)

인터페이스는 객체의 구조를 정의하는 역할을 합니다. 마찬가지로 컴파일 시간 상수 타입을 정의할 수 있습니다. 아래는 인터페이스를 사용하여 컴파일 시간 상수 타입을 정의하는 예제입니다.

interface Shape {
  type: 'Circle' | 'Square';
  size: number;
}

const circle: Shape = {
  type: 'Circle',
  size: 10,
};

위 예제에서 Shape 인터페이스는 type 속성이 'Circle' 또는 'Square'이고, size 속성이 숫자인 객체를 나타내는 타입으로 정의됩니다.

타입 별칭 vs. 인터페이스

이러한 차이점을 고려하여 프로젝트의 요구사항에 맞게 선택하여 사용할 수 있습니다.

타입스크립트를 사용하여 컴파일 시간 상수 타입을 정의하는 방법에 대해 간략히 살펴보았습니다. 이러한 기능을 적절히 활용하여 안정적이고 유지보수가 용이한 코드를 작성할 수 있습니다.

더 많은 정보를 원하시면 타입스크립트 공식 문서를 참고하시기 바랍니다.