TypeScript is a typed superset of JavaScript. I like this language for it type system over “standard” JavaScript. Since it’s just a extension to JavaScript it’s easy to start it. Other type checkers like Flow look less native for me.
I prefer to use TypeScript instead of JavaScript because it’s simple to use and doesn’t require a lot of knowledge from the beginning.
From the other side, I like JavaScript because it’s a dynamic typed language with allows you to do everything you need. The backside of this benefit is that it makes code less maintainable and harder to change without quality loss.
That’s why on each big project I prefer to use strong typed languages. Also, each APIs, even internal, should have type definitions to decrease bugs in the future. I like that it’s possible in JavaScript now.
P.S. I don’t like ;
in JavaScript because it makes code harder to read, IMO.
P.S.S. mypy for Python is a great tool too.