テクノロジー

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

1: suika3417 2025/10/20 14:53

意外な落とし穴あるんだな

2: leiqunni 2025/10/20 18:00

詳しくないけど、置換で置き換えができるならコンパイラが最適化してもいいのでは。即時評価を期待してるのに遅延評価になったらダメか。

3: dorapon2000 2025/10/20 19:16

“交差型 (&) が幾重にも重なった複雑な型定義では、この計算コストが指数関数的に増大し、型チェック全体のパフォーマンスを著しく低下させるのです。”

4: knjname 2025/10/20 19:59

昔からこれあるよなあ typeで作られた型をextendしたインタフェース作って回避したりとかしてたわ

5: inatax 2025/10/20 20:01

うーん不思議だ。単純な交差型なら計算量は線形に収まりそうなものだけど。ある日突然遅くなったなら、その間の変更をじっくり見たいところだ

6: tohokuaiki 2025/10/20 21:50

へー。typeしか使ってないわ

7: tockri 2025/10/20 22:30

なんかさ、typeで書いたほうがかっこいい感じするじゃん。なんとなく。(陥し穴に落ちるやつ)

8: onesplat 2025/10/20 23:53

原因の掘り下げしてなさすぎだろ。こんなにレベル低いのに結論とか書いちゃっていいのかな

9: Xibalba 2025/10/21 00:00

なるほど

10: fivestech 2025/10/21 00:55

うーんあんまり納得できない

11: s025236 2025/10/21 01:30

等価ならinterfaceの方が良いけど緩いinterfaceで複雑な条件分岐するなら厳密なtype使ってtypegurdした方が実行環境では最適化し易いだろうし原因もわからぬまま状況証拠のみで”結論"とか"使うべき"って強い言葉は良くない