strongly typed. This makes it much easier to rationalize about a FE codebase
The only way to make JS feel like a real language
True IDE support, not just syntax highlighting
The main benefit here is that productivity is greatly improved because you can catch errors at the IDE level without having to compile, run in browser, and debug in browser
ES6 and ES7 transpiler built in
There's one thing I was talking about the other day in CoffeeScript I wish existed elsewhere: annotated regex, which let's you use normal regex syntax across multiple lines without stringifying, and you can add comments next to each unusual/complex section of your pattern. I'm a fan of CoffeeScript terseness and indentation, as well as its general rubyishness, but I realize it's not for everyone, and it may make little sense to use it in a large team especially for difficulty in hiring devs who even want to work on it, let alone have the experience. (I mean CS isn't ridiculously big in feature set scope, but familiarity when working on a big codebase in particular is a big help) All that said, I think TypeScript wins out, not the least simply due to exposure/MS backing, and because it's a superset rather than a port, which means more people can work on it already. TypeScript is awesome from the tiny bit I've worked on primarily because 1) because you can add it in installments, modifying your lint configs as you do so, and 2) annotations and enforcement (again on a sliding scale of detail)
Awesome IDE support
Everyone seems to be doing it.
10+ Developer using TypeScript sourcecode that i propared for them for a kick start they done well... 3 years and still working AWESOME.
Type safety, finally!
it's more OOP and easier to transform knowledge from OOP languages, such as C#
no transpiler needed
Ease of use
Short syntax, elegant, clear.
I learned yesterday at the meeting with other coders that ES6 comes in especially handy with React, which I had kind of picked up on my own. So, out of curiosity, I spent some time today reading about React+ES6.source
I may not like some of the syntactic sugar but I understand where people are coming from. With that said, TS is a waste of time and if you have TDD + linting and any decent editor, TS quickly becomes an overhead that is not worth it. Learn the language (JS), love it, appreciate it, explore it. Do not run away from it by going superset. It is a waste of time.
Real compiler, real type-system, IDE support (checkout elm-jutsu if you don't trust me), ...
Plus: thanks to the real type-system and the solid compiler it's actually super easy to grow/refactor your code as you go.