問題一覧に戻る
中級高度な型
問題32: Required'<'T'>'
Required'<'T'>'ユーティリティ型を使って、すべてのオプショナルプロパティを必須にする方法を学びます。オプショナルなプロパティを持つ型から、すべてのプロパティが必須の型を作成できます。
// オプショナルプロパティを持つインターフェース
interface Config {
apiUrl?: string;
timeout?: number;
debug?: boolean;
}
// Required型の使用
type RequiredConfig = <Config>;
const config: RequiredConfig = {
apiUrl: "https://api.example.com",
timeout: 5000,
debug: true
};
// Required型を要求する関数
function initApp(config: <Config>): void {
console.log("Initializing with:", config.apiUrl);
}