enum: js로 컴파일해도 사라지지 않음. 숫자형 enum과 문자형 enum

백아름·2023년 7월 10일
0

프론트엔드

목록 보기
61/80
post-thumbnail

enum 타입

  • 여러가지 값들에 각각 이름을 부여해 열거해두고 사용하는 타입

숫자형 enum

  • 값을 할당해주지 않아도 저절로 제일 위는 0번부터 할당해줌. 만약 제일 위를 10으로 할당해주고, 나머지 할당안해줘도 밑에는 순서대로 11, 12가 할당됨.
  • 만약에 중간에 20을 할당하면, 다음 guest는 21이 할당되고, 만약 admin에 아무값을 할당해주지 않았다면 0이 할당됨.
enum Role { //숫자형 enum 이라고 불림.
  ADMIN = 0, //값을 할당해주지 않아도 저절로 제일 위는 0번부터 할당해줌. 만약 제일 위를 10으로 할당해주고, 나머지 할당안해줘도 밑에는 순서대로 11, 12가 할당됨.
  USER = 1, //만약에 중간에 20을 할당하면, 다음 guest는 21이 할당되고, 만약 admin에 아무값을 할당해주지 않았다면 0이 할당됨.
  GUEST = 2,
}

문자형 enum

enum Language { //문자형 enum
  korean = "ko",
  english = "en",
}

예제

//enum 타입
//여러가지 값들에 각각 이름을 부여해 열거해두고 사용하는 타입

enum Role { //숫자형 enum 이라고 불림.
  ADMIN = 0, //값을 할당해주지 않아도 저절로 제일 위는 0번부터 할당해줌. 만약 제일 위를 10으로 할당해주고, 나머지 할당안해줘도 밑에는 순서대로 11, 12가 할당됨.
  USER = 1, //만약에 중간에 20을 할당하면, 다음 guest는 21이 할당되고, 만약 admin에 아무값을 할당해주지 않았다면 0이 할당됨.
  GUEST = 2,
}

enum Language { //문자형 enum
  korean = "ko",
  english = "en",
}

type User = {
  name: string;
  role: number;
  language: string;
};

const user1: User = {
  name: "이정환",
  role: Role.ADMIN, // 0<-관리자
  language: Language.korean,
};

const user2: User = {
  name: "홍길동",
  role: Role.USER, // 1 <- 일반 유저
  language: Language.korean,
};

const user3: User = {
  name: "아무개",
  role: Role.GUEST, // 2 <- 게스트
  language: Language.english,
};

console.log(user1, user2, user3);

enum 특징: js로 컴파일해도 사라지지 않음.

profile
곧 훌륭해질 거에요!

0개의 댓글

관련 채용 정보