En écrivant beaucoup de C # au travail, la langue ressemble beaucoup à celle à laquelle je suis habitué
C'est un point sur Dart. Javascript est considéré comme une langue maladroite avec quelques idiomes généraux. Dans un langage comme Java, il existe souvent une façon naturelle d'aborder un problème. Par exemple, si vous conservez un inventaire de table, en Java ou en C #, vous créerez une classe Table.
Javascript n'a pas de classes, vous pouvez utiliser des prototypes mais ils se sentent maladroits et ne fournissent pas une structure et des outils d'encapsulation aussi puissants. (Du moins pas sans faire de cascades.) L'héritage, la composition, etc. est délicat avec les prototypes Javascript. C'est pourquoi la plupart des gens utilisent des cartes de hachage simples pour stocker des données. Ou ils utilisent des bibliothèques tierces comme un prototype qui vous donne une expérience de classe.
Donc, la commodité est une chose, structurer l’autre. Javascript ne s'adapte pas bien parce qu'il n'y a pas de moyen standard de structurer des applications à grande échelle. Cependant, actuellement, ces bibliothèques tierces deviennent très populaires. (Comme backbone.js)
Dart est quelque chose à résoudre. Il est là pour vous donner la commodité structurelle de Java et, en outre, il ne possède pas toutes ces fonctionnalités JS maladroites. (La plupart d'entre eux étaient liés à un typage faible.)
Donc, la réponse est oui: classes, héritage, ...: "POO traditionnel". (La plupart des applications Web JS de realworld utilisent la méthode de rappel basée sur les rappels de jQuery.) Et elle utilise une forme de typage statique, mais ce n’est pas le principal argument de vente.
BTW: vous voudrez peut-être lire ce mailing "interne" de Google daté de 2010: Future of Javascript
Javascript a des défauts fondamentaux qui ne peuvent pas être corrigés simplement en faisant évoluer la langue. Nous adopterons une stratégie à deux volets pour l’avenir du Javascript ... Développer un nouveau langage (appelé Dash) qui vise à maintenir la nature dynamique du javascript, mais présente un meilleur profil de performances et se prête à l’outillage pour les grands projets. .