I am convinced that some people would complain if you gave them a certified check (i.e. it won't bounce) for $1 million instead of giving them cash because that means they have to go to the bank to cash it.  I'm not saying there is anything wrong with dart or coffeescript but I have never bothered using them because I don't want to HAVE TO learn yet another syntax.  With TypeScript you can use POJ (plain ole javascript) and the environment will just point out potential gotchas.  As you feel the need and comfort level, you can introduce TypeScript specific constructs which create less error prone javascript than manually creating it.  In other words, it makes it harder to shoot yourself in the foot but if you insist (i.e. type straight javascript with hidden gotchas), it will let you.  I'll take that any day over having to learn a whole new syntax (dart and coffeescript.)  BTW, I am NOT an M$ "fan."  I think the DOJ should have ripped them to shreds for the monopolistic practices they used in the 90s to get the market dominance they have.  However, I am also not stubborn enough to say something is bad or a waste of resources just because it comes from Microsoft.