TIL: Typescript | Optional Property Required

Lumpen·2023년 4월 4일
0

Typescript

목록 보기
16/17
type MyRequired<T> = {
  [K in keyof T]-?: T[K]
}

interface Props {
  a?: number;
  b?: string;
}
 
const obj: Props = { a: 5 };
 
const obj2: MyRequired<Props> = { a: 5 }; // Error

타입 정의에서 -? 를 사용하면 optional protperty 의 물음표를 지울 수 있다..
선택적 프로퍼티를 해제하는 것

https://www.typescriptlang.org/docs/handbook/2/mapped-types.html#mapping-modifiers

type MyRequired<T> = {
  -readonly [K in keyof T]: T[K]
}

위와 같이 사용하여 readonly 를 해제할 수도 있다

profile
떠돌이 생활을 하는. 실업자는 아니지만, 부랑 생활을 하는

0개의 댓글