📐【結論】TypeScriptの型定義はtypeよりinterfaceを使うべき理由2025/10/20に公開3件テーマ「フリーテーマ」ReactTypeScriptperformancefrontendzennfes2025freetechGitHubで編集を提案Discussionshu-saginoya1ヶ月前即時評価と遅延評価の解説がとてもためになりました。 ただこの場合、規模が小さければtype統一でもよいのかな?と感じました。 パフォーマンスの問題がなければ、冒頭の「分かりやすさ」というメリットはあるわけですし。 返信を追加ロコペリ1ヶ月前Typescriptのハンドブックにも「typeの機能が必要になるまではinterfaceを使った方が良い」とあるので、基本的にはinterfaceを使用し、typeでしか実現できない表現があれば局所的にtypeを使用する方針が良さそうですね。 Differences Between Type Aliases and Interfaces 返信を追加ネオPotato1ヶ月前本記事をきっかけにGeminiと深く議論しました。 TypeScriptという名前から type が主役かと思いきや、記事が指摘するパフォーマンス(extends)などの実態を見ると、静的言語における**『契約』の主役は interface** であり、type は(Union型やタプル型など)むしろ struct(データ構造)に近い役割を担っているのでは、という結論になりました。 この言語の『名前』と『設計思想』のねじれが、interface vs type 論争の根底にあるのかもしれませんね。非常に興味深い記事でした。 返信を追加
shu-saginoya1ヶ月前即時評価と遅延評価の解説がとてもためになりました。 ただこの場合、規模が小さければtype統一でもよいのかな?と感じました。 パフォーマンスの問題がなければ、冒頭の「分かりやすさ」というメリットはあるわけですし。 返信を追加
ロコペリ1ヶ月前Typescriptのハンドブックにも「typeの機能が必要になるまではinterfaceを使った方が良い」とあるので、基本的にはinterfaceを使用し、typeでしか実現できない表現があれば局所的にtypeを使用する方針が良さそうですね。 Differences Between Type Aliases and Interfaces 返信を追加
ネオPotato1ヶ月前本記事をきっかけにGeminiと深く議論しました。 TypeScriptという名前から type が主役かと思いきや、記事が指摘するパフォーマンス(extends)などの実態を見ると、静的言語における**『契約』の主役は interface** であり、type は(Union型やタプル型など)むしろ struct(データ構造)に近い役割を担っているのでは、という結論になりました。 この言語の『名前』と『設計思想』のねじれが、interface vs type 論争の根底にあるのかもしれませんね。非常に興味深い記事でした。 返信を追加
Discussion
即時評価と遅延評価の解説がとてもためになりました。
ただこの場合、規模が小さければtype統一でもよいのかな?と感じました。
パフォーマンスの問題がなければ、冒頭の「分かりやすさ」というメリットはあるわけですし。
Typescriptのハンドブックにも「typeの機能が必要になるまではinterfaceを使った方が良い」とあるので、基本的にはinterfaceを使用し、typeでしか実現できない表現があれば局所的にtypeを使用する方針が良さそうですね。
Differences Between Type Aliases and Interfaces
本記事をきっかけにGeminiと深く議論しました。
TypeScriptという名前から type が主役かと思いきや、記事が指摘するパフォーマンス(extends)などの実態を見ると、静的言語における**『契約』の主役は interface** であり、type は(Union型やタプル型など)むしろ struct(データ構造)に近い役割を担っているのでは、という結論になりました。
この言語の『名前』と『設計思想』のねじれが、interface vs type 論争の根底にあるのかもしれませんね。非常に興味深い記事でした。