ハンバーガーメニュー

Menu

← Quiz 一覧に戻る

Conditional Types

TypeScriptのconditional typeにおける`extends`はどのような役割を持ち、型パラメータの制約(`<T extends U>`のような形)で使われる`extends`とどのような関係にあるかを説明してください。

🟢 基本⭐ Familiar1回出題済み記事を読む →

模範解答

conditional typeにおける`T extends U ? X : Y`の`extends`は、「TがUに代入可能かどうか」を判定するための条件式として機能します。これは型パラメータ宣言の`<T extends U>`で使われる`extends`と同じ代入可能性のルールに基づいており、どちらも「TがUに収まるか」を基準にしている点で一貫しています。

🔑 conditional type内の`extends`が「代入可能性の判定」であり、型制約の`extends`と同じルールで解釈できることを理解しているかを問う。


回答履歴 (1回)

#1   2026.03.08正解 (5/5)

あなたの回答

どちらも同じ。extendsは代入可能性を検証しているに過ぎないので、conditional typeではある型に対して別の方が代入可能かどうかで返り値を変えており、型パラメータでも代入可能条件を指定している。

フィードバック

conditional type でも型パラメータ制約でも、`extends` を「代入可能性の判定」として理解できており、模範解答と整合しています。conditional type で返り値の型がその判定結果に応じて変わる点への言及も適切です。両者が同じ代入可能性のルールに基づいているという関係性も正しく説明できています。