좁은 타입과 넓은 타입

모두의희망·2023년 1월 9일
0

TypeScript

목록 보기
7/11
post-thumbnail

좁은 타입과 넓은 타입

type A = string | number;
type B = string;
type C = string & number;
  • A는 넓은 범위 이고 B는 좁은 법위이다. B가 A로 대입 가능하지만 A는 B로 대입이 불가능 하다.
  • C는 B와 비교하면 C가 B보다 더 좁은 타입이다. C는 string과 number 둘다 만족해야 하기 때문에 교집합이라고 생각하면 더 좁은 범위이다.
type A = { name: string };
type B = { age: number };

type AB = A | B; // A, B보다 AB가 더 범위가 넓음.

type C = { name: string, age: number };
type C = A & B; //{ name: string, age: number }랑 같은 뜻임... 

const ab: AB = { name: 'zerocho'}; //또는 이니깐 하나로도 만족
const c: C = { name: 'zerocho' };
  • 위의 객체 A,B와 C중에 누가 더 좁은 타입 일까? 답은 C가 더좁은 타입이다.
  • 객체는 상세 할수록(구체적으로) 범위가 더 좁다.
  • AB는 또는 이기 때문에 A,B보다 더 넓은 타입이다.
profile
개발을 진정성 있게 다가가겠습니다.

0개의 댓글