타입스크립트 타입 정리2 : enum 열거형 : Typescript enum (미완)

horiz.d·2021년 12월 26일
0

타입스크립트 열거형 기본

enum 정의

// enum
enum Fruit {
  Apple,  // 0	// enum 원소의 값을 명시하지 않으면 0부터 +1로 증가하며 index로 값이 할당된다
  Banana = 5, //5 : enum 원소의 값을 명시적으로 넣어줄 수 있다.
  Orange  // 6 : enum 원소의 값을 명시하지 않으면 이전 값 +1이 할당된다.
}

enum을 변수의 값으로 사용

    //enum을 값으로 사용
const v1: Fruit = Fruit.Orange;
console.log(v1); // 6

enum을 타입으로 사용

//enum을 타입으로 사용
 // 타입을 Fruit으로 줌으로써 Fruit의 원소들로 값의 도메인을 제한했다.
let v2: Fruit ; 
v2 = Fruit.Apple;
console.log(v2);
v2 = Fruit.Peach; // 타입에러!!! : 타입으로 지정한 Fruit enum의 원소 도메인을 벗어났음 



### enum
```ts
//9. 열거형 enum 타입
  //열거형 타입은 enum 키워드를 사용해서 정의한다. 열거형 타입의 각 원소는 값으로 사용될 수 있고,
  //타입으로 사용될 수도 있다.

enum Fruit {  //열거형 enum 타입을 사용해서 과일의 종류를 정의했다.
  Apple,
  Banana,
  Orange,
}
const val1: Fruit = Fruit.Apple; //Fruit의 열거형 타입 원소인 Apple을 값으로 사용했다.
const enumError: Fruit = Fruit.Grape; //타입에러!! enum으로 명시되지 않은 원소를 값으로 사용

const val2: Fruit.Apple | Fruit.Banana = Fruit.Banana; // 이번엔 열거된 Apple을 타입으로 사용했다.
const val2: Fruit.Peach | Fruit.Grape = Fruit.Peach //타입에러!! : enum에 명시되지 않은 원소를 값으로 사용.


  //명시적으로 원소의 값을 입력하는 코드
enum Fruit1 {
  Apple1,
  Banana1 = 5, //Fruit 열거형의 선언에서 열거된 원소의 값을 명시적으로 입력함
  Orange1
}
profile
가용한 시간은 한정적이고, 배울건 넘쳐난다.

0개의 댓글