I've used TypeScript, it feels like a type system was bolted on (not great, but still better than pure JavaScript) and you still have to deal with the JavaScript quirks. Dart seem to be the perfect fit for Java developers looking to escape the nasties of JavaScript; been using Dart for close to two years now,