📌 인터섹션 타입이란?
여러타입을 결합해 만들어진 단일 타입. 말 그대로 타입 간의 교집합을 구현한 것이라 생각하면 됨
- 여러 타입을 모두 만족해야 하므로 And 연산자(&)와 비슷한 개념입니다.
- 새로운 타입이 결합된 타입의 모든 속성과 기능을 포함합니다.
type 타입별칭 = Type1 & Type2 & Type3;
<예제 : 직원(Employee)+관리자(Manager)>
type Employee = {
name: string;
startDate: Date;
}
type Manager = Employee & {
group: string;
}
let managerA: Manager = {
name: 'bergerac',
startDate: new Date(),
group: '개발 부서'
}
✅ 특징 정리
- 타입의 결합: 여러 타입을 하나로 묶어 더 복잡하고 정교한 타입을 만들 수 있음
- 재사용성 증가: 기존 타입을 그대로 활용하면서 필요한 속성만 덧붙일 수 있음
- 유연한 조합: 다른 객체 타입 간의 유연한 조합이 가능
<예제: 관리사용자(AdminUser)>
type Admin = {
isAdmin: boolean;
}
type User = {
id: string;
password: string;
}
type AdminUser = Admin & User;
function createAdminUser(user: User): AdminUser {
return { ...user, isAdmin: true };
}
let newAdminUser: User = {
id: 'qwe123',
password: 'qweqwe123123'
}
let adminUser1 = createAdminUser(newAdminUser);
console.log(adminUser1);
// 출력 결과:
// { id: 'qwe123', password: 'qweqwe123123', isAdmin: true }
'TypeScript' 카테고리의 다른 글
TypeScript 함수 (1) | 2025.04.22 |
---|---|
TypeScript "Type" - literal type (0) | 2025.04.21 |
TypeScript "Type" - Union (0) | 2025.04.19 |
TypeScript "Type" -객체 타입과 타입 별칭(alias) (0) | 2025.04.18 |
TypeScript "Type" - 종류와 사용 (1) | 2025.04.17 |