If you are doing serious development - you need TypeScript. Simply having its definitions installed often leads to discovering a 3rd or 4th parameter in a function from a lib you thought you knew. It saves you from having to memorize the long tale 80% configuration properties on a widget. And that's not even talking about your project code. TypeScript gives you code analysis and definitive search capabilities for your codebase. Refactoring pure JS is a nightmare. You never seem to have enough UTs to make sure nothing brakes, not to mention the time it takes to fix them when a change is actually in order. The time needed to introduce each change growth exponentially, and you end up with read only code. TS, on the other hand, gives you all the benefits of Java / C# refactoring routines with non of the headaches. And no, TS is not overkill, because TS is just ECMA6 + as much extra features as you want to use. How do you convert JS file to TS? You rename it. That's it. Every feature is optional. I've seen teams of JS devs using it just for the namespace 'module' syntax. Dart looks good. But it is not JavaScript. And it is Google, a major corp with a board of directors and shareholders. To me, it is just a slightly better GWT/ Flash / Silverlight, and those are all dead.