Ao escrever bastante C # no trabalho, a linguagem parece muito com o que estou acostumado
Esse é um ponto sobre o Dart. Javascript é considerado uma linguagem estranha com poucos idiomas gerais. Em uma linguagem como Java, geralmente há uma maneira natural de abordar um problema. Por exemplo, se você mantiver um inventário de tabela, em Java ou C #, você criará uma classe Tabela.
O Javascript não possui classes, convém usar protótipos, mas eles se sentem estranhos e não fornecem ferramentas de estrutura e encapsulamento tão fortes. (Pelo menos não sem truques.) Herança, composição etc. são estranhas com os protótipos Javascript. É por isso que a maioria das pessoas usa mapas simples de hash para armazenar dados. Ou eles usam bibliotecas de terceiros como protótipo, o que oferece uma experiência de classe.
Portanto, conveniência é uma coisa, estrutura a outra. O Javascript não tem uma boa escala porque não existe uma maneira padrão de estruturar aplicativos em grande escala. No entanto, atualmente, essas bibliotecas de terceiros estão se tornando realmente populares. (Como backbone.js)
Dardo é algo para resolver isso. Está lá para oferecer a conveniência estrutural do Java e, além disso, ele não possui todos esses recursos JS desajeitados. (A maioria deles está relacionada à digitação fraca.)
Portanto, a resposta é sim: classes, herança, ...: "OOP tradicional". (A maioria dos webapps JS do mundo real usa o retorno de chamada do jQuery, abordado como estrutura principal.) E possui uma forma flexível de digitação estática, mas esse não é o principal ponto de venda.
BTW: você pode querer ler esta correspondência "interna" do Google de 2010: Futuro do Javascript
O Javascript possui falhas fundamentais que não podem ser corrigidas apenas com a evolução da linguagem. Adotaremos uma estratégia dupla para o futuro do Javascript ... Desenvolva uma nova linguagem (chamada Dash) que visa manter a natureza dinâmica do Javascript, mas ter um melhor perfil de desempenho e ser passível de ferramentas para grandes projetos. .