그동안 풀었던 ts 챌린지 정리 - 1

woogi·2025년 4월 22일

TS챌린지

목록 보기
1/2
post-thumbnail

✏️개요

그동안 풀었던 ts 챌린지들을 정리해보았다.
하루에 한 문제씩 꾸준히 해야지!라고 마음을 먹고 시작했지만 하핫..
앞으로는 더 열심히 해야게따..!

43 - Exclude

  • ts에서 never는 절대 발생할 수 없는 타입을 의미한다.
type MyExclude<T, U> = T extends U ? never : T;

189 - Awaited

  • infer을 이용해 promise내부의 타입을 바탕으로 타입을 할당한다.
type MyAwaited<T> = T extends PromiseLike<infer U>
  ? U extends PromiseLike<any>
    ? MyAwaited<U>
    : U
  : T;

268 - If

  • 조건부 타입을 이용해 타입을 작성하였다.
  • 유니온 타입은 조건부 타입에서 분배 법칙에 의해 따로 검사한다.
type If<C extends boolean, T, F> = C extends true ? T : F

533 - Concat

  • 제네릭의 스프레드 연산을 이용해 문제를 해결했다.
  • 테스트 케이스 중 읽기 전용 타입이 있길래 readonly를 작성해 좁은 타입을 작성했다.
type Concat<T extends readonly unknown[], U extends readonly unknown[]> = [...T, ...U]
profile
https://www.hellowook.com

0개의 댓글