TypeScriptでは基本的にclassを使わない
ここの内容、あんまり関心がないので雑多になっているし、今も深める気が生じてない

チーム内にclass推しの人がいたりすればやる気が上がるかもしれない
業務では一切使っていない

元の実装でclassがあるが、現在外していっている
「TypeScriptでは基本的にclassを使わない」は別に主張ではない

使いたければ使えばいいと思う
でも、「the clean architectureをTypeScriptで書いてみた」みたいな記事でclass使っている読むと、意味ある??とはなる
この辺のモデリングの本が大概Javaとかをサンプルコードに採用しているせいで、OOP前提みたいに解釈されている
単純にOOPより関数型の方が好きというのも大きい
この理由を言語化すべきだと思うけど

単純に筋が良い
serializeの観点
instanceはserializeできないんだっけ?
いつ使うか?
method chainを書きたい時?
react-queryの内部はclassで実装されている
queryをcacheするstoreみたいなものを持ち回っている
instanceを各所で持ち回っている
もちろん純粋関数でも同じことはできるが、その下地をTypeScript上に整えるのが面倒そう
素直にclassを使ったほうがシンプルに書けると思った