[Typescript] Enum 타입

Bam·2023년 8월 19일
0

Typescript

목록 보기
11/32
post-thumbnail

Enum

enum은 타입스크립트에서 지원하는 타입입니다. enum은 enumerated type의 줄임말로 해석하면 열거형 타입이라고 할 수 있습니다. 그 이름처럼 enum은 데이터를 열거하는데 사용됩니다.

enum Member {
  Teacher,
  Student,
  Administration,
}

위처럼 정의한 enum의 멤버를 값으로 사용할 수 있습니다. 값의 사용은 enum명.멤버의 형태로 사용합니다.

const teacher1= {
  id: Member.Teacher,
  name: 'Kim'
};

const student = {
  id: Member.Student,
  name: 'Lee'
};

const administrationOfficer = {
  id: Member.Administration,
  name: 'Choi'
};

enum 멤버의 값 할당

enum의 각 멤버들에게는 값을 할당하여 사용할 수 있습니다. 이때 값으로 사용한 enum의 멤버는 해당 멤버에 할당된 값으로 사용됩니다.

이때 할당되는 값에 따라 enum앞에 타입이 붙게 됩니다.

숫자형 enum

enum Member {
  Teacher = 0,
  Student = 1,
  Administration = 2,
}
const teacher1= {
  id: Member.Teacher, //0
  name: 'Kim'
};

const student = {
  id: Member.Student, //1
  name: 'Lee'
};

const administrationOfficer = {
  id: Member.Administration, //2
  name: 'Choi'
};

숫자는 아무값도 할당하지 않았을 때 자동적으로 할당되는데, 0부터 자동으로 시작되게 됩니다.

enum Member {
  Teacher, // 자동으로 0할당
  Student, //1
  Administration, //2
}

첫 번째 멤버에게만 특정 숫자 값을 주면 해당 값에서 1씩 증가되는 값으로 할당됩니다.

enum Member {
  Teacher = 100,
  Student, //101  자동으로 이전 값에서 1이 늘어난 값이 할당
  Administration, //102
}

문자열형 enum

문자열형의 형태로도 enum의 멤버에 값을 할당할 수 있습니다.

enum Member {
  Teacher = 't',
  Student = 's',
  Administration = 'a',
}
const teacher1= {
  id: Member.Teacher, //'t'
  name: 'Kim'
};

const student = {
  id: Member.Student, //'s'
  name: 'Lee'
};

const administrationOfficer = {
  id: Member.Administration, //'a'
  name: 'Choi'
};

1개의 댓글

comment-user-thumbnail
2023년 8월 19일

좋은 정보 감사합니다

답글 달기