TypeScript는 정적 타입을 지원하는 JavaScript의 확장 버전으로, 더 안정적이고 예측 가능한 코드 작성을 도와줍니다. 타입 이넘(Enum)은 특정 값들의 집합을 정의하고 식별할 수 있는 이름을 제공해주는 기능으로, 여러 곳에서 이넘을 사용하면 타입 추론을 최적화할 수 있습니다.
타입 이넘(Enum)이란?
- 타입 이넘은 TypeScript에서 여러 값을 하나의 이름으로 그룹화하여 정의할 수 있는 타입으로, 이넘을 사용하면 코드를 읽고 유지보수하기 쉬워집니다.
- 다음은 기본적인 이넘의 사용 예시입니다.
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
이넘의 멤버 값만을 허용하게 됩니다. 따라서 type
은 Fruit
이넘의 값 중 하나여만 합니다. 이는 잘못된 값이 할당되는 것을 방지하고, 코드의 안정성을 높이는데 도움을 줄 수 있습니다.
또한, 문자열 또는 숫자에 대한 타입 보호(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의 타입 이넘을 활용하여 코드를 작성해보시기 바랍니다.
[참고 자료]