우아한 타입스크립트 2부

실전 타입스크립트 코드 작성하기

  1. Conditional Type을 활용하기

  2. Overloading을 활용하기

  3. readonly, as const를 남발하기

  4. optional type보단 Union type을 사용하기

  5. never 활용하기

1. Conditional Type을 활용하기

Item<T> - T에 따라 달라지는 contatiner

interface StringContainer {
  value: string;
  format(): string;
  split(): string[];
}

interface NumberContainer {
  value: number;
  nearestPrime: number;
  round(): number;
}

type Item1<T> = {
  id: T,
  container: any;
}

const item1: Item1<string> = {
  id: 'aaaaaa',
  container: null,
}

조건부로 할 수 있다.

T가 string이면 StringContainer, 아니면 NumberContainer

Item<T> T가 string 이면 StringContainer, T가 number 면 NumberContainer 아니면 사용 불가

어떤 값도 넣을 수 없는게 never라고 볼 수 있다.

ArrayFilter<T>

Table or Dino

Flatten<T>

infer

함수의 리턴 타입 알아내기 - MyReturnType

소스코드를 보고 타입을 알아낸 다음 타입이 맞는지를 확인하는 과정을 거친다. 와우

내장 conditional types (1)

내장 conditinal types (2)

내장 conditional types (3)

Function 인 프로퍼티 찾기

2. Overloading을 활용하기

오버로딩이 불가능한 자바스크립트에 타입을 붙이는 경우

Last updated

Was this helpful?