Menu
CoddyTech

숫자형 열거형 사용하기

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

다른 TypeScript 타입과 마찬가지로 열거형(enum)을 타입 어노테이션으로 사용할 수 있습니다. 열거형을 매개변수 타입으로 지정하면, TypeScript는 유효한 열거형 값만 해당 함수에 전달되도록 보장합니다:

function processUser(role: UserRole): void {
  if (role === UserRole.Admin) {
    console.log("Full access granted");
  } else if (role === UserRole.Editor) {
    console.log("Edit access granted");
  } else {
    console.log("View access only");
  }
}

이 접근 방식은 뛰어난 타입 안정성을 제공합니다. TypeScript는 유효하지 않은 값을 전달하려는 모든 시도를 포착하며, 코드 에디터는 사용 가능한 enum 멤버에 대한 자동 완성을 제공합니다. processUser(UserRole.Admin) 또는 processUser(0)을 사용하여 이 함수를 호출할 수 있는데, 이는 숫자형 열거형이 해당 숫자 값을 허용하기 때문입니다.

challenge icon

챌린지

쉬움

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

  • UserRole 타입의 role (이전 레슨의 열거형(enum) 사용)

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

  • 역할(role) 값을 확인하고 역할에 따라 다른 메시지를 출력합니다.
  • 역할이 UserRole.Admin이면, "Full access granted"를 출력합니다.
  • 역할이 UserRole.Editor이면, "Edit access granted"를 출력합니다.
  • 그 외의 다른 역할인 경우, "View access only"를 출력합니다.
  • 반환 타입은 void여야 합니다.

이전 챌린지에서 다음 내용이 제공됩니다:

  • Admin, Editor, Viewer 멤버를 가진 UserRole 열거형
  • 변수: adminRole, editorRole, viewerRole

UserRole 타입의 currentUser라는 변수를 생성하고 UserRole.Editor를 할당하세요.

UserRole 타입의 guestUser라는 변수를 생성하고 숫자 값 2를 할당하세요.

checkPermissions 함수를 호출하여 다음 출력 결과가 나오도록 하세요:

  • adminRole을 사용하여 checkPermissions 호출
  • currentUser를 사용하여 checkPermissions 호출
  • guestUser를 사용하여 checkPermissions 호출
  • UserRole.Admin을 사용하여 checkPermissions 호출
  • 숫자 값 0을 사용하여 checkPermissions 호출

직접 해보기

// 이전 챌린지에서 제공됨
enum UserRole {
    Admin,
    Editor,
    Viewer
}

const adminRole = UserRole.Admin;
const editorRole = UserRole.Editor;
const viewerRole = UserRole.Viewer;

// TODO: 여기에 코드를 작성하세요
// checkPermissions 함수를 생성하세요
// currentUser 변수를 생성하세요
// guestUser 변수를 생성하세요
// 필요한 매개변수와 함께 checkPermissions를 호출하세요
quiz icon실력 점검

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

TypeScript 소개의 모든 레슨

직접 연습해 보세요: TypeScript 플레이그라운드