타입스크립트를 5살 아이처럼 쉽게 배우는 방법 (5)
카테고리
프로그래밍/소프트웨어 개발
서브카테고리
웹 개발
대상자
- *초보 개발자 및 타입스크립트 학습 중인 개발자**
- 난이도: 기본 개념 중심, 코드 예제를 통해 직관적 이해 유도
핵심 요약
- 타입스크립트에서
|
연산자는 여러 타입 중 하나를 허용하는 유니언 타입을 정의합니다 (예:string | number
). &
연산자는 여러 타입을 합쳐 하나의 타입으로 정의하는 인터섹션 타입을 생성합니다 (예:Person & Coder
).- 유니언 타입 사용 시 타입 좁히기(Type Narrowing)가 필요하며,
id.toUpperCase()
처럼 모든 타입에 적용 가능한 메서드는 사용할 수 없습니다.
섹션별 세부 요약
1. 유니언 타입 (Union Types)
let value: string | number;
은value
가string
또는number
타입일 수 있음을 의미합니다.value = "hello"
또는value = 123
은 허용되지만,value = true
는 오류가 발생합니다.printId(id: string | number)
함수는string
또는number
타입의 인자를 받을 수 있습니다.
2. 인터섹션 타입 (Intersection Types)
type TSDev = Person & Coder;
는Person
과Coder
타입의 속성을 모두 포함하는 새로운 타입을 생성합니다.dev: TSDev
객체는name
과knowsTS
속성을 동시에 가집니다.- 이는 "모든 속성을 동시에 가지는 타입"을 정의하는 데 유용합니다.
3. 유니언 타입의 한계와 해결 방법
id.toUpperCase()
는id
가number
일 경우 오류가 발생하므로 타입 좁히기(Type Narrowing)가 필요합니다.- 이는 다음 챕터에서 설명될 예정입니다.
결론
- 유니언 타입(
|
)과 인터섹션 타입(&
)은 타입스크립트에서 객체의 유연한 정의를 가능하게 하는 핵심 개념입니다. - 유니언 타입 사용 시 타입 좁히기를 통해 안전한 코드 작성 가능.
- 예제:
let value: string | number;
은string
또는number
타입을 허용하지만,true
는 허용되지 않습니다.