Menu
Coddy logo textTech

이종 열거형

Coddy JavaScript 여정의 TypeScript 소개 섹션에 포함된 레슨 — 73개 중 55번째.

TypeScript는 또한 이종 열거형(heterogeneous enums)을 지원합니다. 이는 동일한 선언 내에 문자열과 숫자 멤버가 혼합되어 포함된 열거형입니다.

다음은 혼합형 열거형(heterogeneous enum)을 생성하는 방법입니다:

enum MixedEnum {
  No = 0,
  Yes = "YES",
  Maybe = 1
}

이 예제에서 NoMaybe는 숫자 멤버이며, Yes는 문자열 멤버입니다. TypeScript는 이러한 유연성을 허용하지만, 이종 열거형(heterogeneous enums)은 실제로는 거의 사용되지 않는다는 점에 유의하는 것이 중요합니다.

quiz icon실력 점검

이 레슨에는 짧은 퀴즈가 포함되어 있습니다. 레슨을 시작해 문제를 풀고 진행 상황을 기록하세요.

quiz icon실력 점검

이 레슨에는 짧은 퀴즈가 포함되어 있습니다. 레슨을 시작해 문제를 풀고 진행 상황을 기록하세요.

quiz icon실력 점검

이 레슨에는 짧은 퀴즈가 포함되어 있습니다. 레슨을 시작해 문제를 풀고 진행 상황을 기록하세요.

challenge icon

챌린지

쉬움

문자열과 숫자 값이 혼합된 ResponseCode라는 이름의 이종 열거형(heterogeneous enum)을 생성하세요:

  • Success200으로 초기화
  • Error"ERROR"로 초기화
  • NotFound404로 초기화
  • Timeout"TIMEOUT"으로 초기화

하나의 매개변수를 받는 handleResponse라는 이름의 함수를 생성하세요:

  • ResponseCode 타입의 code

이 함수는 다음을 수행해야 합니다:

  • 응답 코드를 확인하고 값에 따라 다른 메시지를 출력합니다.
  • 코드가 ResponseCode.Success인 경우, "Request successful"을 출력합니다.
  • 코드가 ResponseCode.Error인 경우, "General error occurred"를 출력합니다.
  • 코드가 ResponseCode.NotFound인 경우, "Resource not found"를 출력합니다.
  • 코드가 ResponseCode.Timeout인 경우, "Request timed out"을 출력합니다.
  • 반환 타입은 void여야 합니다.

열거형 값을 보여주기 위한 네 개의 변수를 생성하세요:

  • ResponseCode 타입의 successCode를 생성하고 ResponseCode.Success를 할당합니다.
  • ResponseCode 타입의 errorCode를 생성하고 ResponseCode.Error를 할당합니다.
  • ResponseCode 타입의 notFoundCode를 생성하고 ResponseCode.NotFound를 할당합니다.
  • ResponseCode 타입의 timeoutCode를 생성하고 ResponseCode.Timeout를 할당합니다.

다음 출력값들을 출력하세요:

  • successCode의 값을 출력합니다.
  • errorCode의 값을 출력합니다.
  • notFoundCode의 값을 출력합니다.
  • timeoutCode의 값을 출력합니다.
  • ResponseCode.Success를 인자로 하여 handleResponse를 호출합니다.
  • errorCode를 인자로 하여 handleResponse를 호출합니다.
  • 숫자 값 404를 인자로 하여 handleResponse를 호출합니다.

치트 시트

TypeScript는 동일한 선언 내에서 문자열과 숫자 멤버가 혼합된 이종(heterogeneous) 열거형(enum)을 지원합니다:

enum MixedEnum {
  No = 0,
  Yes = "YES",
  Maybe = 1
}

이종 열거형에서는 숫자와 문자열 값을 혼합할 수 있습니다. TypeScript는 이러한 유연성을 허용하지만, 이종 열거형은 실제로 거의 사용되지 않습니다.

직접 해보기

// TODO: 여기에 코드를 작성하세요

// ResponseCode 열거형(enum)을 생성합니다


// handleResponse 함수를 생성합니다


// 시연용 변수들을 생성합니다


// 필요한 출력값들을 출력합니다
quiz icon실력 점검

이 레슨에는 짧은 퀴즈가 포함되어 있습니다. 레슨을 시작해 문제를 풀고 진행 상황을 기록하세요.

TypeScript 소개의 모든 레슨