타입스크립트 | 연산자와 & 연산자 쉽게 배우기 (5)
AI Store에서 AI코딩으로 만들어진 앱을 만나보세요!
지금 바로 방문하기

타입스크립트를 5살 아이처럼 쉽게 배우는 방법 (5)

카테고리

프로그래밍/소프트웨어 개발

서브카테고리

웹 개발

대상자

  • *초보 개발자타입스크립트 학습 중인 개발자**

- 난이도: 기본 개념 중심, 코드 예제를 통해 직관적 이해 유도

핵심 요약

  • 타입스크립트에서 | 연산자는 여러 타입 중 하나를 허용하는 유니언 타입을 정의합니다 (예: string | number).
  • & 연산자는 여러 타입을 합쳐 하나의 타입으로 정의하는 인터섹션 타입을 생성합니다 (예: Person & Coder).
  • 유니언 타입 사용 시 타입 좁히기(Type Narrowing)가 필요하며, id.toUpperCase()처럼 모든 타입에 적용 가능한 메서드는 사용할 수 없습니다.

섹션별 세부 요약

1. 유니언 타입 (Union Types)

  • let value: string | number;valuestring 또는 number 타입일 수 있음을 의미합니다.
  • value = "hello" 또는 value = 123은 허용되지만, value = true는 오류가 발생합니다.
  • printId(id: string | number) 함수는 string 또는 number 타입의 인자를 받을 수 있습니다.

2. 인터섹션 타입 (Intersection Types)

  • type TSDev = Person & Coder;PersonCoder 타입의 속성을 모두 포함하는 새로운 타입을 생성합니다.
  • dev: TSDev 객체는 nameknowsTS 속성을 동시에 가집니다.
  • 이는 "모든 속성을 동시에 가지는 타입"을 정의하는 데 유용합니다.

3. 유니언 타입의 한계와 해결 방법

  • id.toUpperCase()idnumber일 경우 오류가 발생하므로 타입 좁히기(Type Narrowing)가 필요합니다.
  • 이는 다음 챕터에서 설명될 예정입니다.

결론

  • 유니언 타입(|)과 인터섹션 타입(&)은 타입스크립트에서 객체의 유연한 정의를 가능하게 하는 핵심 개념입니다.
  • 유니언 타입 사용 시 타입 좁히기를 통해 안전한 코드 작성 가능.
  • 예제: let value: string | number;string 또는 number 타입을 허용하지만, true는 허용되지 않습니다.