3️⃣

[TypeScript UtilityTypes] Required

2024/01/03に公開

TypeScript入門メモ
[Utility Types] Required について

Required

公式ドキュメント
https://www.typescriptlang.org/docs/handbook/utility-types.html#requiredtype

required に設定された Type のすべてのプロパティからなる型を構築する。Partialの反対。

interface Props {
  a?: number;
  b?: string;
}
 
const obj: Props = { a: 5 };
 
const obj2: Required<Props> = { a: 5 };
Property 'b' is missing in type '{ a: number; }' but required in type 'Required<Props>'.

メモ

UtilityTypes全体に言えることな気はするが、APIなどの外部で定義されたモノに対して再定義し直すみたいな場面で使うことになりそう。
ただ、元の定義が変わった際に修正が必要なので安易に使いすぎない方が良さそう。

Discussion