I use TS myself. It helped make front end development OK for me again. But man, one really misses some things.
I recently picked it up again and struggled to remember how to properly do pattern matching and exhaustive checks, until I realized that there were more hoops to jump through than at a circus convention. A friend ultimately pointed me to https://pattern-matching-with-typescript.alabor.me/ but that made me weep.
Then I remembered how I hadn't been able to figure out how to use object spread to perform variable assignments of all members from an object returned from a function, with compiler verification that no object members had been forgotten. That may be possible now, I'm not sure. I don't think it was possible last I battled with it.
Don't get me started on the ergonomics of immutables. Again, this may have improved, and no one would be happier about that than I.
But all in all I feel that TS is not what I'd like to use for front end development. However, it's where the community and development effort is at, and I feel like I could never convince my colleagues to go with BS/PS/Reason/anything else. I haven't even been able to push them from JS to TS yet.
If someone wants to show me the error of my ways, I'd love it, since I'll probably be using TS for some time to come.
* OCaml's type system is sound, Typescript’s isn’t.
* OCaml is an expression-based functional language, with first class currying and partial application, TS is an OO language.
* OCaml has pattern matching and exhaustive checks, TS doesn't.
* OCaml leverages true immutable structures, TS doesn’t.
* OCaml has a super fast compiler, TS doesn't.