3️⃣
[TypeScript UtilityTypes] Required
TypeScript入門メモ
[Utility Types] Required について
Required
公式ドキュメント
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