Study/TypeScript
[TS] Enum | TypeScript 타입 스크립트 열거형 타입 이넘
M개발자
2023. 6. 26. 01:08
반응형
- 여러가지 값에 각 이름을 부여하고 열거해서 사용하는 타입이다.
- 열거형 타입(Enum)은 자바스크립트에는 존재하지 않는 타입이다.
enum Role {
ADMAIN = 0,
USER = 1,
GUEST = 2,
}
const user = {
name: "MinJ",
role: Role.ADMIN
}
console.log(user) // { name: "MinJ", role: 0 }
- 유저의 권한과 같은 여러 멤버를 갖는 값을 공통화하여 표기할 때 enum을 사용하면 안전하고 직관적으로 관리할 수 있다.
enum Role {
ADMAIN, // 0 자동 할당
USER, // 1 자동 할당
GUEST, // 2 자동 할당
}
enum Role {
ADMAIN = 10,
USER, // 11 자동 할당
GUEST, // 12 자동 할당
}
enum Role {
ADMAIN, // 0 자동 할당
USER = 11, // 11 할당
GUEST, // 12 자동 할당
}
- 할당 값이 없을 경우 0부터 자동할당된다.
- 할당 값을 변경하고 싶다면 시작하는 위치에 값을 직접 할당할 경우 아래의 멤버에는 1씩 증가된 값이 할당된다.
문자열 열거형
- enum의 멤버에는 숫자 외의 문자열 값도 할당할 수 있다.
enum Language {
KOREAN = "ko",
ENGLISH = "en",
}
const user = {
name: "MinJ",
role: Role.ADMIN,
language: Language.KOREAN,
}
enum의 컴파일 결과는 객체다.
- enum은 컴파일될 때 다른 타입과 달리 자바스크립트 객체로 변환된다.
var Role;
(function (Role) {
Role[Role["ADMIN"] = 0] = "ADMIN";
Role[Role["USER"] = 1] = "USER";
Role[Role["GUEST"] = 2] = "GUEST";
})(Role || (Role = {}));
var Language;
(function (Language) {
Language["KOREAN"] = "ko";
Language["ENGLISH"] = "en";
})(Language || (Language = {}));
출처!
인프런 이정한 지식공유자님의 한 입 크기로 잘라먹는 타입스크립트
한 입 크기로 잘라먹는 타입스크립트 - 인프런 | 강의
문법을 넘어 동작 원리와 개념 이해까지 배워도 배워도 헷갈리는 타입스크립트 이제 제대로 배워보세요! 여러분을 타입스크립트 마법사🧙🏻♀️로 만들어드립니다., - 강의 소개 | 인프런
www.inflearn.com
반응형