Type handling

succeeding·2023년 2월 22일
0

readonly 제거

속성에서 readonly 제거한 타입
참고: https://www.typescriptlang.org/ko/docs/handbook/2/mapped-types.html#mapping-modifiers

export type CreateMutable<T> = {
  -readonly [Property in keyof T]: T[Property]
}

합집합

extends

extends 키워드는 공통 key가 있고 서로 타입이 다른 경우 에러 발생

intersection

& 문법은 공통 key가 있고 서로 타입이 다른 경우, 그 두 타입의 유니온 타입으로 정의하여 에러 발생하지 않음

T ∪ (K - T)

export type LeftOuterJoin<T, K> = T & Omit<K, keyof T> | T

0개의 댓글