フォロー

PureScriptのRow Polymorphism、便利だしTypeScript以上に安全だ。ある特定のフィールドを持つレコードであるという制約を課すだけでなく、型パラメータがフィールドであることも強制することもできる。TypeScriptではこれはできないだろう

TypeScriptの場合、代替として交差型を使うことになると思うが、これはobject型であることを強制できても、配列や関数もオブジェクトであるため、型パラメータがフィールドであることを強制できない。
たとえばRow Typeを型引数として持つ型コンストラクタRがあったとして、(a :: Int)のような型にしか適用できないように強制することはできないのだ

ログインして会話に参加
Fedibird

様々な目的に使える、日本の汎用マストドンサーバーです。安定した利用環境と、多数の独自機能を提供しています。