[typescript] 타입 이넘을 활용한 타입 추론 최적화

TypeScript는 정적 타입을 지원하는 JavaScript의 확장 버전으로, 더 안정적이고 예측 가능한 코드 작성을 도와줍니다. 타입 이넘(Enum)은 특정 값들의 집합을 정의하고 식별할 수 있는 이름을 제공해주는 기능으로, 여러 곳에서 이넘을 사용하면 타입 추론을 최적화할 수 있습니다.

타입 이넘(Enum)이란?

enum Color {
  Red,
  Green,
  Blue,
}

위의 코드에서 Color는 이넘의 이름, Red, Green, Blue는 각각의 멤버 값입니다.

타입 추론 최적화를 위한 타입 이넘 활용

타입 이넘을 활용하면 타입 추론을 최적화할 수 있습니다. 예를 들어, 다음과 같이 객체를 생성하고 해당 객체의 프로퍼티로 이넘을 사용한다고 가정해봅시다.

enum Fruit {
  Apple,
  Banana,
  Orange,
}

let myFruit = {
  type: Fruit.Apple,
  color: 'red',
};

이 경우, TypeScript는 myFruit.type의 타입을 추론할 때 Fruit 이넘의 멤버 값만을 허용하게 됩니다. 따라서 typeFruit 이넘의 값 중 하나여만 합니다. 이는 잘못된 값이 할당되는 것을 방지하고, 코드의 안정성을 높이는데 도움을 줄 수 있습니다.

또한, 문자열 또는 숫자에 대한 타입 보호(Type Guard)도 사용할 수 있습니다. 예를 들어, 다음과 같이 switch문을 활용하여 이넘의 값에 따라 다른 동작을 처리할 수 있습니다.

function getFruitName(fruit: Fruit): string {
  switch (fruit) {
    case Fruit.Apple:
      return 'Apple';
    case Fruit.Banana:
      return 'Banana';
    case Fruit.Orange:
      return 'Orange';
  }
}

이처럼 타입 이넘을 활용하면 코드의 가독성을 높이고 타입 추론을 최적화할 수 있습니다.

마무리

타입 이넘을 활용하여 타입 추론을 최적화하는 방법에 대해 알아보았습니다. 이넘을 사용하면 코드의 가독성을 높일 뿐만 아니라 잘못된 값이 할당되는 것을 방지하여 코드의 안정성을 높일 수 있습니다. TypeScript를 사용할 때 적절히 이넘을 활용하여 안정적이고 가독성 있는 코드를 작성하는 것이 중요합니다.

많은 정보들을 참고해보면서 TypeScript의 타입 이넘을 활용하여 코드를 작성해보시기 바랍니다.

[참고 자료]