(SEB_FE_44)TypeScript 2일차

김종현·2023년 5월 31일
0

1. TypeScript 열거형(Enum)

enum Color {
  Red,
  Green,
  Blue,
}

Color라는 열거형을 정의하고 있습니다. 열거형의 값은 Red, Green, Blue

1-1. 숫자형 열거형

enum Color {
  Red = 1, // 1
  Green = 2, // 2
  Blue = 4, // 4
}

1-1-1. 역 매핑

역 매핑은 숫자형 열거형에만 존재하는 특징입니다. 열거형의 키(key)로 값(value)을 얻을 수 있고 값(value)으로 키(key)를 얻을 수도 있습니다.

enum Enum {
    A
}
let a = Enum.A;
let nameOfA = Enum[a]; // "A"

위와 같이 열거형의 키로 값을 얻을 수 있지만, 값으로도 열거형의 키를 얻을 수 있습니다. 이는 숫자형 열거형에만 존재하며, 문자형 열거형에서는 존재하지 않는 특징입니다.

1-2. 문자형 열거형

enum Direction {
  Up = "UP",
  Down = "DOWN",
  Left = "LEFT",
  Right = "RIGHT",
}

let myDirection: Direction = Direction.Up;
console.log(myDirection); // 출력: "UP"

위 코드는 Direction이라는 문자열 기반의 열거형(Enum)을 정의하고 있습니다. Up, Down, Left, Right 각각에는 문자열 값이 할당되어 있습니다. 그리고 myDirection 변수를 Direction.Up으로 초기화하고 있습니다. 출력 결과로는 "UP"이 나오게 됩니다.

또한 문자형 열거형에는 숫자형 열거형과는 다르게 auto-incrementing이 없습니다. 대신 디버깅을 할 때 숫자형 열거형의 값은 가끔 불명확하게 나올 때가 있지만 문자형 열거형은 항상 명확한 값이 나와 읽기 편합니다.

2. 타입 별칭(Type Aliases)

// string 타입을 사용할 때
const name: string = 'capt';
 
// 타입 별칭을 사용할 때
type MyName = string;
const name: MyName = 'capt';
 
// Ex
type Name = string;
type Email= string;
type FooFunction = () => string; // 함수도 타입을 가지고 규정할 수 있다. 반환값이 string
  • 타입 별칭은 특정 타입이나 인터페이스를 참조할 수 있는 타입 변수를 의미한다.
  • 변수명에 의미를 부여할 수 있지만 string 타입에 의미를 부여하고 싶을 때 타입 별명(타입 별칭, 타입 알리아스)을 사용한다.
  • 타입 별칭은 새로운 타입 값을 하나 생성하는 것이 아니라 정의한 타입에 대해 나중에 쉽게 참고할 수 있게 이름을 부여하는 것과 같다.
  • 타입 별칭은 첫 글자를 대문자로 쓰는 컨벤션을 따름

3. 타입 추론(Type Interface)

let n = 1;
let b = true;
let s = 'Hello';

타입 추론은 타입 주석(type annotation) 없이 변수의 유형을 정의하는 결정하는 문법입니다. 예제 코드와 같이 타입 주석을 생략하고 대입되는 값을 통해 변수 타입을 결정합니다. 매번 타입 주석을 사용하지 않아도 손쉽게 변수 유형을 정의하고 사용할 수 있게 해주는 방법입니다.

profile
마라톤

0개의 댓글