👶 TypeScript

조건부 타입 - 내장 조건부 타입들

개발자 린다씨 2023. 1. 21. 16:00
반응형

내장 조건부 타입들

조건부 타입을 이용하면 정말 강력한 연산자 몇 가지를 타입 수준에서 표현할 수 있습니다.

 

TypeScript가 전역에서 바로 사용할 수 있는 여러 조건부 타입을 제공하는 이유도 바로 이 때문입니다.

 

  • Exclude<T, U>
    • Without 타입처럼 T에 속하지만 U에는 없는 타입을 구합니다.
type A = number | string
type B = string
type C = Exclude<A, B> // type C = number
  • Extract<T, U>
    • T의 타입 중 U에 할당할 수 있는 타입을 구합니다.
type A = number | string
type B = string
type C = Extract<A, B> // type C = string
  • NonNullable<T>
    •   T에서 null과 undefined를 제외한 버전을 구합니다.
type A = {a?: number | null}
type B = NonNullable<A['a']> // type B = number
  • ReturnType<F>
    • 함수의 반환 타입을 구합니다.(제네릭과 오버로드된 함수에선 동작하지 않습니다.)
type F = (a: number) => string
type R = ReturnType<F> // type R = string
  • InstanceType<C>
    • 클래스 생성자의 인스턴스 타입을 구합니다.
type A = {new(): B}
type B = {b: number}
type I = InstanceType<A> // type I = {b: number;}
반응형