[TypeScript] 타입별칭(Type Aliases)이란?

juiuj·2024년 10월 6일

TS-study

목록 보기
7/11

타입별칭(Type Aliases)이란?

특정 타입에 대해 새로운 이름을 붙여주는 기능

복잡한 타입을 더 간결하고 직관적인 이름으로 재사용할 수 있음.

type User = {
  name: string;
  age: number;
};

const user: User = {
  name: "Alice",
  age: 30
};

type User는 객체의 타입을 정의한 타입 별칭임. 이후 User를 타입으로 사용해 user라는 변수에 그 구조를 따르는 값을 할당함.


타입 확장(&)

기존 타입에 새로운 속성을 추가하거나 변형할 수 있음. 주로 인터섹션 타입을 사용해 타입을 확장함.

type Person = {
  name: string,
  age: number
}

type Student = Person & { // 확장(상속)
  school: string
}

const jieun: Student = {
  name: 'jieun',
  age: 27,
  school: 'HY'
}

❗️❗️ 그러나 type인터페이스와 달리 선언적 확장이 불가능함

타입 별칭은 그 자체로 완전한 정의이기 때문에 새로운 선언을 통해 확장하거나 병합할 수 없음.

type User = {
  name: string;
};

// 새로운 속성을 추가하려고 시도해도 오류 발생
type User = {
  age: number;
}; // Error: Duplicate identifier 'User'.

이처럼 타입 별칭은 한 번 정의되면 같은 이름으로 다시 선언해 확장할 수 없음.

0개의 댓글