Tous ceux qui utilisent l'écosystème JavaScript connaissent aujourd'hui Typescript. Typescript est l'une des technologies les plus appréciées* et son utilisation est en constante augmentation (la part d'utilisation est passée de 52% en 2018 à 78% en 2020)*.
La position actuelle de Typescript n'est pas venue de nulle part, car cette technologie est capable d'améliorer réellement l'expérience des développeurs. Un codage plus explicite accroît le contrôle et la prévisibilité de l code. Dans cet article, je vais essayer de vous convaincre d'utiliser Typescript.
En général, lorsque vous développez une application en JavaScript, votre flux pourrait ressemble à ceci :
Changez les choses,
Accédez à l'application et vérifiez la partie modifiée / Exécutez des tests (connexes).
Vérifier si tout va bien.
Avec Typescript, vous pouvez réellement effectuer le changement et, s'il y a lieu, le modifier. erreur de type dans votre code, vous le saurez immédiatement grâce au message d'erreur du compilateur ou au retour d'information en temps réel de l'IDE. Bien sûr, le compilateur Typescript ne résoudra pas tous les problèmes et ne vous avertira pas de tous les bogues, mais son aide peut être inestimable.
Meilleure complétion syntaxique dans les IDE
C'est très simple. Si vous utilisez de bons IDE, comme WebStorm ou VSCode, vous obtiendrez une meilleure complétion syntaxique avec Typescript. Cela ne semble peut-être pas être une grande amélioration pour le développeur, mais en fin de compte, chaque amélioration est importante car elle peut nous faire gagner du temps et, une fois de plus, nous éviter une erreur ou une faute de frappe. De plus, nous pouvons définir notre type ou notre interface une seule fois ; comme nous n'avons pas à nous souvenir constamment de la structure, nous pouvons nous concentrer sur l'écriture de la logique commerciale.
Un remaniement moins pénible
Imaginez que vous deviez procéder à un remaniement pour une raison quelconque, par exemple, vous avez rejoint un projet et vous êtes chargé d'ajouter une nouvelle fonctionnalité, mais cette fonctionnalité est d'une manière ou d'une autre liée à un code existant. Typescript peut rendre les choses plus faciles et moins pénibles parce que lorsque vous faites un changement et qu'il y a un autre endroit où vous devez faire un autre changement, le compilateur vous en avertira.
Par exemple, il peut s'agir d'une signature de fonction modifiée ou, après le changement, d'une signature de fonction. renverra quelque chose de totalement différent, de sorte que le type renvoyé sera lui aussi différent.
Être plus confiant dans la base de code
JavaScript est faiblement et dynamiquement typé, donc lorsque vous initialisez une variable avec la valeur let query = '' plus tard dans le code, le développeur peut faire quelque chose d'irrationnel par erreur, par exemple query = trueet il s'agira d'un code JS valide.
Dans un code bien écrit, l'affectation d'une valeur booléenne à une variable qui était auparavant une chaîne de caractères ne devrait pas se produire. En général, cette affectation avec changement de type résulte donc d'une erreur.
Lorsque l'on utilise Typescript, on ne peut pas changer le type de la variable, donc si l'on rend la variable let query = '' il s'agira de la variable chaîne de caractères et nous ne pourrons pas changer son type par erreur.
Si nous voulons permettre à une variable d'être de plus d'un type, nous le faisons toujours explicitement en utilisant un type d'union, par exemple chaîne de caractères | nombre.
Par conséquent, Typescript rend notre code plus prévisible et plus explicite. En outre, Typescript s'occupe de l'explicitation dans l'analyse du flux de contrôle et s'il y a une possibilité que quelque chose se passe mal, il vous en avertit.
Ici en exemple en premier si nous obtiendrons une erreur :
TS2339 : La propriété "battery" n'existe pas sur le type "ClothingProduct". 2 fois, pour batterieet bélier propriétés.
Dans le deuxième bloc - autreNous obtiendrons cette erreur pour taille propriété. Bien sûr, ce n'est qu'un exemple pour vous montrer comment syndicats discriminés et analyse du flux de contrôle travaillent en Typescript, nous ne faisons donc rien de trop complexe avec ce code.
Migration facile et progressive à partir de JavaScript
Le code JavaScript valide est en même temps un code Typescript valide, ce qui vous permet de migrer votre base de code étape par étape. Habituellement, l'utilisation du mode strict dans Typescript est une bonne pratique, mais dans ce cas, nous devons commencer par "strict" : faux en tsconfig.json et nous devrions également définir deux autres options.
"allowJs" : true, // cela nous permettra d'utiliser des fichiers .js et le type ne sera pas vérifié dans ceux-ci
"skipLibCheck" : true // il n'y aura pas de vérification des types dans les bibliothèques que nous utilisons
Grâce à ces options, nous pouvons migrer de JS à TS étape par étape - fichier par fichier, en changeant simplement l'extension de .js(x) à .ts(x) et en ajoutant des types dans les fichiers. Grâce à cette approche, nous pouvons éviter des centaines ou des milliers d'erreurs de compilation effrayantes.
Résumé
Je pense que nous devrions utiliser Tapuscrit aussi souvent que possibleLe développement de la base de code est un processus très important, parce qu'il est vraiment bénéfique à long terme. Cela permet de maintenir les projets, d'accroître l'expérience des développeurs et de rendre notre base de code plus explicite et plus fiable.
Cependant, comme toujours, il y a des exceptions - par exemple, pour une simple page d'atterrissage Lorsque JavaScript n'est utilisé que pour basculer d'une classe à l'autre ou dans un autre cas simple, Typescript n'a pas de sens. En outre, nous devons nous rappeler que pour tirer pleinement parti de Typescript, nous devons apprendre à l'utiliser à un niveau suffisant, et cela peut prendre un certain temps. Je pense qu'il s'agit d'un investissement de temps très rentable.