If you go node.js, you get static typing with typescript if you want + same language on the browser, debuggable.If you go Dart you get static typing if you want + same language the browser, debuggable.
Oh! someone thinks typescript is a programming language. Typescript runs in which browser? :) (Because when I use typescript, I worry about two things in my development process, .js and .ts)