Mon travail quotidien est celui de développeur client utilisant AngularJS. Nous évaluons si nous voulons aller avec TypeScript. J'ai fait quelques recherches sur dactylographié et presque tous les packages JavaScript dont j'ai besoin doivent avoir des fichiers de type définition. J'ai trouvé que ce n'était pas très pratique, surtout si j'aimerais essayer quelque chose de nouveau et qu'ils n'ont pas de définition. C'est vraiment frustrant. (Même la définition actuelle de jQuery me pose quelques problèmes si je veux utiliser la version bêta de type 1.5). J'ai commencé à regarder ES6 et il ressemble à TypeScript. Dois-je simplement utiliser ES6 à la place? De plus, j'ai entendu que angular 2 aura un support complet pour TypeScript, est-ce une des raisons pour lesquelles je devrais rester avec?
la source
declare var MyNewLibraryName: any;
puis l'utiliser comme bon vous semble sans que le compilateur ne se plaint.Réponses:
J'utilise Typescript dans mon projet angulaire actuel depuis environ un an et demi et bien qu'il y ait quelques problèmes avec les définitions de temps en temps, le projet DefinitelyTyped fait un travail incroyable pour suivre les dernières versions des bibliothèques les plus populaires.
Cela dit, il existe une courbe d'apprentissage définie lors de la transition de JavaScript vanille à TS et vous devez prendre en compte la capacité de vous et de votre équipe à effectuer cette transition. De plus, si vous allez utiliser angulaire 1.x, la plupart des exemples que vous trouverez en ligne vous obligeront à les traduire de JS à TS et, dans l'ensemble, il n'y a pas beaucoup de ressources pour utiliser TS et angulaire 1.x ensemble en ce moment .
Si vous prévoyez d'utiliser angular 2, il existe de nombreux exemples d'utilisation de TS et je pense que l'équipe continuera à fournir la plupart de la documentation dans TS, mais vous n'avez certainement pas à utiliser TS pour utiliser angular 2.
ES6 a quelques fonctionnalités intéressantes et je prévois personnellement de me familiariser avec lui, mais je ne le considérerais pas comme un langage prêt pour la production à ce stade. Principalement en raison d'un manque de support des navigateurs actuels. Bien sûr, vous pouvez écrire votre code dans ES6 et utiliser un transpilateur pour le faire passer à ES5, ce qui semble être la chose la plus populaire à faire en ce moment.
Dans l'ensemble, je pense que la réponse se résumerait à ce que vous et votre équipe êtes à l'aise d'apprendre. Personnellement, je pense que TS et ES6 auront un bon support et un avenir long, je préfère TS cependant parce que vous avez tendance à obtenir les fonctionnalités du langage plus rapidement et en ce moment le support des outils (à mon avis) est un peu meilleur.
la source
Arbre de décision entre ES5, ES6 et TypeScript
Plus de détails
ES5 est le JavaScript que vous connaissez et utilisez dans le navigateur aujourd'hui, c'est ce qu'il est et ne nécessite pas d'étape de construction pour le transformer en quelque chose qui fonctionnera dans les navigateurs d'aujourd'hui
ES6 (également appelé ES2015 ) est la prochaine itération de JavaScript, mais il ne fonctionne pas dans les navigateurs actuels. Il existe de nombreux transpilers qui exporteront ES5 pour les exécuter dans les navigateurs. C'est toujours un langage dynamique (lu: non typé).
TypeScript fournit un système de frappe en option tout en intégrant des fonctionnalités des futures versions de JavaScript (ES6 et ES7).
Remarque: de nombreux transpilers (par exemple babel, TypeScript) vous permettront d'utiliser des fonctionnalités des futures versions de JavaScript aujourd'hui et d'exporter du code qui fonctionnera toujours dans les navigateurs d'aujourd'hui.
la source