Typescript brings great tooling which cannot be matched by anything else. Using tsd and the great contributions on DefinitelyTyped is leagues ahead of anything else like Flow, there is simply no comparison. You can use all this on regular js code and get all the benefits, reason alone to switch.
Many other languages such as Dart have the same approach — dynamically typed with optional static type annotations, which is then used by tooling. It also provides much needed structure for large teams. Its no accident it was chosen by Angular, since their contributions to AtScript were added to TS.
“ There’s no reason that Tern.js and Flow can’t match TypeScript’s developer tooling UX. Somebody just needs to invest some TLC in the editor/IDE plugins.”
Not true. Type inference can only get you partly there in a dynamic language, its the reason TS was invented. You simply cannot get the same tooling. Its not just the editor, static analysis of programs is a huge win and AOT is made possible only when using it. e.g. Angular2/Dart won’t be able to do tree shaking without it.
The syntax can and will improve. And in fact I’m pretty sure in the next few years TC39 will add some form of static typing to the language, and it will be adopted from TS. There’s simply too much momentum and things like Flow are just a stopgap measure.