복잡한 타입을 더 간결하고 직관적인 이름으로 재사용할 수 있음.
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 User = {
name: string;
};
// 새로운 속성을 추가하려고 시도해도 오류 발생
type User = {
age: number;
}; // Error: Duplicate identifier 'User'.
이처럼 타입 별칭은 한 번 정의되면 같은 이름으로 다시 선언해 확장할 수 없음.