問題一覧に戻る
中級高度な型
問題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);
}