📐

【結論】TypeScriptの型定義はtypeよりinterfaceを使うべき理由

に公開3
GitHubで編集を提案

Discussion

shu-saginoyashu-saginoya

即時評価と遅延評価の解説がとてもためになりました。
ただこの場合、規模が小さければtype統一でもよいのかな?と感じました。
パフォーマンスの問題がなければ、冒頭の「分かりやすさ」というメリットはあるわけですし。

ロコペリロコペリ

Typescriptのハンドブックにも「typeの機能が必要になるまではinterfaceを使った方が良い」とあるので、基本的にはinterfaceを使用し、typeでしか実現できない表現があれば局所的にtypeを使用する方針が良さそうですね。

Differences Between Type Aliases and Interfaces

ネオPotatoネオPotato

本記事をきっかけにGeminiと深く議論しました。

TypeScriptという名前から type が主役かと思いきや、記事が指摘するパフォーマンス(extends)などの実態を見ると、静的言語における**『契約』の主役は interface** であり、type は(Union型やタプル型など)むしろ struct(データ構造)に近い役割を担っているのでは、という結論になりました。

この言語の『名前』と『設計思想』のねじれが、interface vs type 論争の根底にあるのかもしれませんね。非常に興味深い記事でした。