[TypeScript] 타입은 집합이다

kjy0124·2025년 8월 3일
post-thumbnail

🎯 타입은 집합

  • 집합 : 동일한 속성을 갖는 여러 원소들을 하나로 묶어둔 단위
    - Infinity, 123, -1, 0, 0.123 등 모든 동일한 속성(특징)을 갖는 여러개의 값들을 모아둔 것

  • number 리터럴 타입

	let n: 20;
	n = 20;
  • number 리터럴 타입은 number 타입의 부분 집합
  • 이에 대한 자세한 내용은 아래의 타입 호환성에 설명

✅ 타입 호환성

  • 어떤 타입을 다른 타입으로 취급해도 괜찮은지 판단하는 것
  • Number 리터럴 타입은 Number 타입에 속할 수 있음
  • 하지만 그 반대는 불가능
  • 왜냐하면 Number 리터럴 타입은 타입을 명시하고 있기 때문
let num1: number = 10;
let num2: 10 = 10;
  • num1은 Number 타입이고, num2는 Number 리터럴 타입
  • 위 코드에서 num1 = num2는 가능하지만, 그 반대는 불가능
  • 이유는 num1은 Number 타입인 어떠한 숫자가 들어올 수 있기 때문

✅ 업 캐스팅 & 다운 캐스팅

  • 업 캐스팅 : 서브타입(작은 곳)에서 슈퍼타입(큰 곳)으로 캐스팅
    - 모든 상황에 가능
  • 다운 캐스팅 : 슈퍼타입(큰 곳)에서 서브타입(작은 곳)으로 캐스팅
    - 대부분의 상황에 불가능

출처

한 입 크기로 잘라먹는 타입스크립트
https://www.inflearn.com/course/한입-크기-타입스크립트/dashboard

profile
개발 공부...

0개의 댓글