[TS] Type Aliases

Chanki Hong·2023년 3월 31일
0

TypeScript

목록 보기
4/9
post-thumbnail

Type Aliases

  • 타입 정의를 변수(Aliases; 별칭)로 담을 수 있음.
  • type 키워드 사용.
  • type을 지정할 때 관습적으로 대문자 사용. (PascalCase)
  • type은 재정의가 불가능.

union type

  • |(or) 키워드 이용.
// 동물과 동물2는 같은 union type을 가짐.

let 동물: string | number | undefined;

type AnimalType = string | number | undefined;
let 동물2: AnimalType;
  • 어려 타입을 유니언 타입으로 이용 가능.
type NameType = string;
type AgeType = number;

type PersonType = NameType | AgeType;

object type

// 동물과 동물2는 같은 object type을 가짐.

const 동물: { name: string; age: number } = { name: 'kim', age: 20 };

type AnimalType = { name: string; age: number };
const 동물2: AnimalType = { name: 'park', age: 30 };

수정 막기

  • TS는 객체의 참조값 수정을 막을 수 있음.
  • readonly 키워드 이용.
type GirlfriendType = {
  readonly name: string;
};

const 여친: GirlfriendType = {
  name: '여친',
};
여친.name = '없음'; // 수정 불가 오류.
  • 단, TS 내에서만 에디터 에러가 나고 JS에서는 실행 가능.

intersection type(교차 타입)

  • 다수 타입의 교집합을 의미.
  • 단순 복사(또는 extends)와는 다름.
  • &(and) 연산자 이용.
type PositionXType = { x: number };
type PositionYType = { y: number };

type NewType = PositionXType & PositionYType; // { x: number, y: number }
  • 중복값은 하나로 합쳐짐.

0개의 댓글