David Hockley

Pourquoi apprendre le TypeScript ?

Vous vous demandez ce qu'il en est de TypeScript ? Et si cela vaut la peine d'investir du temps et de l'énergie à l’apprendre ? Ou si c’est une bonne idée de l'utiliser dans votre projet ?

Si c'est le cas, vous êtes au bon endroit. Je vais vous expliquer les raisons qui font pour moi de TypeScript un langage plus agréable à utiliser que le JavaScript, tout en gardant toutes les forces du JavaScript.

Les bons cotés, sans les mauvais côtés.

Pour illustrer laissez-moi vous raconter mon histoire. Il y a quelques années, j'ai essayé d'apprendre le JavaScript.

J'avais déjà codé en C et C plus plus, et LUA, et ActionScript et Python... donc je ne commençais pas vraiment mon voyage de codage.

Mais j'ai changé de travail, et une partie du code était en JavaScript, et j'essayais de trouver d'où venait un bug, alors j'ai commencé à essayer de comprendre ce qui se passait.

J’ai ressentie de la frustration en essayant d'apprendre JavaScript. J'ai essayé et échoué. J’ai essayé de suivre ce qui se passait à travers des lignes et des lignes de code mal documentés… c'était pénible.

Mais deux ans plus tard, j'ai pu facilement apprendre le JavaScript... en apprenant d'abord le TypeScript.

Et j'ai trouvé le TypeScript beaucoup plus amusant à utiliser que le JavaScript. L’expérience développeur était bien meilleure.

Et dans un sens, c'est étrange.

Parce que le TypeScript, dans un sens, n’est qu’une sur-couche de contraintes. Il limite ce que vous pouvez faire. Il vous oblige à suivre des règles qui sont ajoutées au dessus du JavaScript.

Et pourtant, pour moi, le TypeScript est agréable à utiliser… d'une façon que n’est pas le JavaScript.

Pourquoi ?

Qu'est-ce qui fait que TypeScript est une expérience agréable ? Et pas selon mon seul avis, mais de l'avis des milliers de développeurs qui ont répondu à l'enquête de Stack Overflow et ont classé TypeScript comme le troisième langage le plus aimé, et le JavaScript… un peu plus bas.

C'est contre-intuitif que des contraintes puissent améliorer une expérience. Mais nous allons explorer ça ensemble en 3 points.

Tout d'abord : Qu'est-ce que le TypeScript, à quoi est-il utile ?

Deuxièmement : Pourquoi le TypeScript est-il fun ? Qu'est-ce qui le rend amusant d'une manière que le JavaScript, pour moi du moins, ne l'est pas ?

Troisièmement : Pourquoi le TypeScript est un bon choix pour apprendre, et même comme moyen d’apprendre le JavaScript.

Tout d’abord, Qu'est-ce que TypeScript ?

TypeScript est un sur-ensemble de JavaScript.

C'est 1/ une syntaxe supplémentaire, au-dessus de la syntaxe JavaScript, qui 2/ se transpose en JavaScript et 3/ anticipe les mises à jour du JavaScript.

Qu'est-ce que cela signifie ?

Eh bien, tout d'abord, toute syntaxe JavaScript valide est une syntaxe TypeScript valide.

Si vous avez une page de code JavaScript, changez l'extension du fichier de .js en .ts, et "voilà !". : du code TypeScript valide !

Deuxièmement, le TypeScript se transpile en JavaScript. Qu'est-ce que cela signifie ? A un niveau basique, cela signifie qu'à la fin de la journée, le code TypeScript passe par le compilateur et pour générer du code JavaScript. Et c'est ce code JavaScript qui est exécuté.

Cela signifie que tout ce que JavaScript peut faire (et JavaScript peut faire beaucoup de choses), TypeScript peut le faire.

À un autre niveau, plus élevé, tout cela signifie que le TypeScript n'est pas un concurrent de JavaScript. C'est un outil pour produire du JavaScript valide, qui est peut-être même un code de meilleure qualité que celui que nous aurions produit par nous-mêmes. Mais ce n'est pas un concurrent du JavaScript, juste un outil pour produire du bon JavaScript.

Vous ne pouvez pas exécuter du TypeScript directement dans un navigateur, seul le JavaScript peut s’exécuter.

En ce sens, TypeScript n'existe que pour améliorer l'expérience developpeur du codage en JavaScript. Je ne sais pas si c'était ça l’intention initiale, mais étant donné a quel point les développeurs apprécient le language, c'est certainement le résultat final.

Et c'est certainement quelquechose que j'ai expérimenté de première main.

Comment est-ce que le TypeScript fait ça ? Eh bien, c'est la question fondamentale, n'est-ce pas ! Quels sont les ingrédients de l’expérience de développement que TypeScript fournit ? Qu'est-ce qui rend TypeScript plus agréable à utiliser ?

Qu'est-ce qui rend TypeScript amusant ? (Et Pourquoi ne pas simplement utiliser JavaScript ?)

TypeScript améliore l'expérience du développeur de JavaScript de deux façons.

Premièrement, le TypeScript consiste à ajouter de la documentation au dessus de JavaScript. Et si vous configurez votre projet correctement, il peut vous obliger à le faire.

Et bien sûr, pas seulement vous-mêmes, mais tous les autres développeurs travaillant sur un projet.

Alors cette documentation est partielle - elle n'a pas l'intention de couvrir toutes les informations que la documentation devrait fournir. Mais elle fournit une information très spécifique : à savoir le type d'information qu'une variable doit contenir.

JavaScript retournera volontiers vrai à l'affirmation nombre zéro égal à la chaîne vide. Mais les chaînes de caractères et les nombres sont deux choses différentes. Ce sont deux types différents.

JavaScript est faiblement typé voire même non typé. En JavaScript, vous pouvez affecter une valeur de n'importe quel type à n'importe quelle variable à tout moment.

TypeScript ajoute le type au JavaScript. (Il y a un indice dans le nom).

Cette vérification de type n'est effectuée au moment de la compilation, et non une fois que le code est transformé en JavaScript et exécuté.

Cette vérification de type se plaint si vous avez dit qu'une variable est d'un certain type et que vous l'utilisez ensuite différemment.

Cela signifie au final que TypeScript fait de vous un meilleur codeur. Il fait également de vos outils de développement de meilleurs outils de développement : l'ajout de contraintes aide vos outils à mieux deviner ce que vous essayez de faire et vous aide donc à y parvenir plus rapidement.

Et coder plus vite, c'est agréable.

Comme est le fait de produire un code plus propre.

Il a été dit que 15% des bogues dans le code sont dus à des erreurs de type. Ayant travaillé pendant plus de 15 ans avec de nombreux langages faiblement typés (notamment LUA, Python et JavaScript), je dirais que 15% est une sous-estimation. Et le TypeScript permet d’adresser ces 15% de bugs dès l’écriture.

La deuxième façon dont TypeScript réduit les tracas et rend les choses plus amusantes est qu'il anticipe la syntaxe JavaScript future et vous permet de cibler des syntaxes JavaScript passée.

JavaScript s'est beaucoup amélioré au fil des ans, mais lorsque j'ai commencé à l'utiliser, il n'y avait pas de fonction en grosse flèche, ni de promesses, ni d'opérateur spread (avec les trois petits points).

Ces éléments étaient en cours d'élaboration, bien sûr, mais ne pouvaient pas être utilisés parce que les navigateurs ne les supportaient pas.

Et le TypeScript m'a permis d'utiliser une syntaxe plus propre et plus agréable sans me soucier de la compatibilité, car je pouvais transposer le code dans l'ancienne syntaxe et choisir le niveau de compatibilité que je voulais que le compilateur TypeScript produise.

Et ça c’est très agréable quand on a passé un temps certain à se battre avec des problèmes de compatibilité JavaScript.

Bien sûr, les choses se sont améliorées maintenant, parce que ces nouvelles fonctionnalités sont maintenant bien supportées en JavaScript.

Mais un jour, une belle nouvelle fonctionnalité sera proposée pour le langage JavaScript... et TypeScript l'aura en premier.

Parce que TypeScript évolue nécessairement plus vite que l'adoption de JavaScript. Et c'est aussi une partie de ce qui fait de TypeScript un bon choix à apprendre.

Justement : Qu’est-ce qui fait de TypeScript un bon choix à utiliser et à apprendre ?

Le JavaScript est bizarre.

En fait, il y a un site web entier dédié à la bizarrerie qui fait partie de JavaScript, appelé JavaScript WTF. Une grande partie de cette bizarrerie est due à la façon dont JavaScript gère les types.

Et lors de l'apprentissage de JavaScript, ces bizarreries peuvent causer beaucoup de frustrations.

TypeScript vous rajoute des petites roues lorsque vous apprenez JavaScript. Il vous éloigne d'un grand nombre de pièges qui pourraient causer la confusion. Il vous garde par défaut dans le bon chemin.

Personnellement, j'ai appris JavaScript beaucoup plus rapidement avec TypeScript. Parce que le modèle mental de TypeScript était plus clair pour moi. Parce que mon IDE m'indiquait la bonne direction, et m'aidait à terminer ma tâche beaucoup plus rapidement. Il m'indiquait mes erreurs.

Maintenant, je n'essaie pas de déclencher une guerre de fanboy. En fait, quand on voit les résultats de StackOverflow, je ne dis rien de révolutionnaire.

Mais si vous voulez apprendre JavaScript, je vous recommande de commencer avec TypeScript. Et si vous voulez continuer à apprendre, je vous invite à regarder une de ces vidéos.

Social
Made by kodaps · All rights reserved.
© 2023