TypeScript - Type Alias

Boo Sung Jun·2022년 3월 18일
0

TypeScript

목록 보기
4/8
post-thumbnail

Type Alias

타입스크립트에서 지정할 타입이 너무 긴 경우, 타입 변수를 따로 만들 수 있다.

let 동물: string | number | undefined; // 타입 지정 너무 김

type Animal = string | number | undefined;
let 동물2: Animal = "cat";

type alias 이름은 관습적으로 대문자로 시작한다.

오브젝트도 적용 가능하다

type AnimalType = { name: string; age: number };
let 동물3: AnimalType = { name: "abbc", age: 10 };

Alias 합치기, 오브텍트 extend

다음과 같이 타입을 합칠 수 있다.

  type Name = string;
  type Age = number;
  type Person = Name | Age;

오브젝트는 &로 합칠 수 있다. 오브텍트 extend라고 한다.

  type PositionX = { x: number };
  type PositionY = { y: number };
  type PositionXY = PositionX & PositionY;

함수에서 type alias 사용

함수 패러미터와 리턴 타입을 alias로 지정 가능하다

  // type alias에 함수 type 저장하는 법
  type 함수타입 = (a: string) => number;

  let 함수: 함수타입 = function (a) {
    return 10;
  };

오브젝트 내의 속성으로 함수를 넣을 수도 있는데, 이 경우에는 다음과 같이 타입 지정이 가능하다

// object 에 함수 저장할 수 있음
  type UserType = {
    name: string;
    plusOne: (a: number) => number;
    changeName: (a: string) => void;
  };

  let 회원정보: UserType = {
    name: "kim",
    plusOne(a) {
      return a + 1;
    },
    changeName: (a) => {
      회원정보.name = a;
    },
  };

주의점

type 변수는 재정의가 불가능하다

type PositionX = { x: number };

type PositionX = string;  // error

0개의 댓글