숫자형 열거형 사용하기
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)을 사용하여 이 함수를 호출할 수 있는데, 이는 숫자형 열거형이 해당 숫자 값을 허용하기 때문입니다.
챌린지
쉬움하나의 매개변수를 받는 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를 호출하세요이 레슨에는 짧은 퀴즈가 포함되어 있습니다. 레슨을 시작해 문제를 풀고 진행 상황을 기록하세요.
TypeScript 소개의 모든 레슨
직접 연습해 보세요: TypeScript 플레이그라운드