Looking through the source of Replicache, here are some classes we use:
- KVStore
- DAGStore
- Transaction
I mean ... I can of course model these w/o classes, but encapsulating the state and methods together feels right to me. Especially when there is private state that only the methods should manipulate.
We use composition all over the place and rarely use inheritance so I don't think it's just some deficiency of knowledge .
Pre JS classes, the js community emulated classes w/ the prototype chain and that's what I'd have done for these classes if real JS classes weren't available.