[typescript] 열거형(Enum)을 이용한 언어 설정하기

TypeScript는 JavaScript 언어에 정적 타입을 추가하는 프로그래밍 언어이다. Enum(열거형)은 TypeScript에서 유용하게 사용되는 데이터 타입으로, 서로 연관된 상수값들의 집합을 정의할 수 있다.

Enum 정의하기

다음은 Enum을 사용하여 언어 설정을 정의하는 TypeScript 코드의 예시이다.

enum Language {
  ENGLISH = 'en',
  KOREAN = 'ko',
  SPANISH = 'es',
  FRENCH = 'fr'
}

위 코드에서 Language는 Enum의 이름이고, 각각의 상수값들은 언어의 코드와 연결된다.

Enum 사용하기

이제 Enum을 사용하여 언어 설정을 적용하는 방법을 살펴보겠다.

let currentLanguage: Language = Language.ENGLISH;

function setLanguage(lang: Language) {
  currentLanguage = lang;
}

setLanguage(Language.KOREAN);
console.log(currentLanguage); // 출력: ko

위 예시에서는 Language Enum을 사용하여 currentLanguage 변수를 초기화하고, setLanguage 함수를 이용하여 언어를 변경한다.

Enum 활용하기

Enum은 switch 문과 함께 사용되어 특정한 언어에 따른 동작을 구현하는 데 유용하다.

function getGreeting(lang: Language): string {
  switch (lang) {
    case Language.ENGLISH:
      return 'Hello!';
    case Language.KOREAN:
      return '안녕하세요!';
    case Language.SPANISH:
      return '¡Hola!';
    case Language.FRENCH:
      return 'Bonjour!';
    default:
      return 'Hello!';
  }
}

console.log(getGreeting(currentLanguage)); // 출력: 안녕하세요!

위 예시에서는 getGreeting 함수를 통해 현재 언어에 따른 인사말을 반환하는 것을 볼 수 있다.

Enum을 사용하여 각 상수값에 이름을 부여하고, 코드의 가독성을 높이고자 할 때 Enum은 매우 유용하다. 이외에도 Enum은 문자열, 숫자, 상수를 모두 포함할 수 있다는 장점을 가지고 있다.

이처럼 TypeScript의 Enum은 코드를 더 간결하고 가독성있게 만들어주며, 특히 언어 설정과 같이 유한한 상태 값을 가지는 경우에 유용하게 활용될 수 있다.


참고 문헌:

  1. TypeScript Handbook - Enumeration
  2. Understanding TypeScript Enums