TypeScriptで配列引数の要素に応じて返り値の型を変える4つの方法
2026年4月20日 18:00
はじめに
TypeScript で、「配列引数の要素に応じて返り値の型を変えたい」という場面に遭遇しました。
const admin = fetchByRoles(["admin"]);
// AdminData に絞り込まれてほしい
const mixed = fetchByRoles(["admin", "guest"]);
// AdminData | GuestData になってほしい
「引数の型で返り値の型を切り替える」こと自体は、条件型やオーバーロードで実現できます。
基本的な考え方は、サバイバルTypeScriptの条件型やオーバーロードの解説がわかりやすいです。
た...