Publié à l’origine en 1995 après une période de développement étonnamment courte, JavaScript est devenu depuis une partie intégrante de nombreux sites et applications. Aujourd’hui, JavaScript a trouvé sa place dans les applications côté client et côté serveur. Les développeurs demandent toujours de nombreuses fonctionnalités, malgré tous les changements qu’il a subis au fil des ans.
TypeScript est un langage de script qui étend JavaScript avec un grand nombre de ces fonctionnalités tant attendues. L’annotation de type, le typage personnalisé et les interfaces sont tous des composants majeurs, ainsi qu’un meilleur outillage pour augmenter la productivité.
Pourquoi changer ?
La perspective de changer de langage sur des projets importants peut être stressante. Heureusement pour tous ceux qui envisagent cette tâche, le processus de portage d’un projet de JavaScript à TypeScript est assez simple.
JavaScript a passé ces dernières années à s’imposer comme un langage de programmation majeur. Utilisé à l’origine uniquement pour les scripts frontaux sur les sites web, la sortie de Node.js a permis à JavaScript d’être utilisé côté serveur, ce qui a contribué à accroître sa popularité.
Bien que JavaScript soit devenu beaucoup plus populaire récemment, sa dernière implémentation, ES6, manque encore de nombreuses fonctionnalités. Pour de nombreux développeurs, ces fonctionnalités manquantes limitent l’utilité de JavaScript en tant que langage.
TypeScript vise à remédier à ces problèmes en dotant JavaScript de fonctionnalités supplémentaires, puis en transposant le code utilisateur. Le résultat est un langage à sécurité de type avec la facilité et la convivialité de JavaScript.
Il existe déjà plusieurs outils et frameworks qui prennent en charge l’intégralité de TypeScript. Angular l’utilise depuis longtemps, et même React a des moyens d’implémenter TypeScript.
TypeScript est comme JavaScript amélioré
TypeScript met en œuvre de nombreuses fonctionnalités que les développeurs demandent souvent à JavaScript. TypeScript doit son nom au système de type complet qu’il met en œuvre, y compris des fonctionnalités telles que la vérification de type, la sécurité et le typage implicite. TypeScript vous permet même de définir et d’utiliser des espaces de noms personnalisés.
TypeScript contient également des interfaces, des énumérations et de l’inférence de type. TypeScript maintient la prise en charge des fonctionnalités de la dernière implémentation de JavaScript ainsi que des fonctionnalités héritées, et ajoute une série de nouvelles fonctionnalités.
Dans l’ensemble, TypeScript se concentre sur la création d’un processus de développement plus sûr avec des outils plus performants pour aider les codeurs.
Il encourage le code Type-Safe
TypeScript utilise un système de vérification de type intégré pour valider les types de variables. Il comprend un ensemble de types standard avec la possibilité de définir ses propres classes et types. Les types peuvent être déclarés explicitement ou déduits en fonction de l’affectation.
TypeScript dispose de plusieurs types de données standard, notamment les chaînes de caractères, les nombres, les booléens et les tuples. Il y a aussi les types de variables, comme unknown et any, qui vous permettent d’utiliser du code faiblement typé.
L’inférence de type de TypeScript vous permet d’effectuer des vérifications de type même sur du code JavaScript standard en le faisant passer par le transpilateur de TypeScript.
La transpilation facilite l’utilisation
Du point de vue du développeur, l’une des meilleures caractéristiques de TypeScript est qu’il produit du JavaScript vanille. Vous pouvez exécuter du code TypeScript par le biais d’un processus connu sous le nom de transpilation, qui est similaire à la compilation.
Plutôt qu’un exécutable, le résultat de la transpilation est un script dans un langage différent du langage d’origine du code.
Le code TypeScript se transpose en JavaScript que vous pouvez ensuite exécuter sur un serveur ou un client. Cela vous permet d’écrire rapidement et facilement du code que vous pouvez exécuter sur presque toutes les plateformes.
TypeScript favorise la productivité des développeurs
L’ajout de types à JavaScript ne permet pas seulement au code de s’exécuter en toute sécurité, il fournit également aux développeurs des outils qui facilitent le codage. La plupart des IDE modernes prennent en charge TypeScript, ce qui permet aux outils de complétion de code comme IntelliSense d’offrir un contexte supplémentaire au code. Ils peuvent également proposer une vérification des types au fur et à mesure que vous écrivez, ce qui vous aide à détecter les erreurs plus rapidement.
En outre, les structures de données et la syntaxe supplémentaires de TypeScript sont conçues pour améliorer la lisibilité du code. Ces caractéristiques permettent de créer plus rapidement et plus facilement un code de haute qualité et de repérer les problèmes potentiels avant qu’ils ne deviennent problématiques.
Comment porter votre code ?
Si vous démarrez un tout nouveau projet, la création d’un nouveau projet TypeScript est assez simple. Convertir un projet préexistant en TypeScript est cependant un peu plus compliqué.
Dans des circonstances normales, la perspective de convertir un projet d’un langage à un autre est effrayante. La conversion de JavaScript à TypeScript est cependant étonnamment simple.
TypeScript, un surensemble de JavaScript
TypeScript est considéré comme un surensemble de JavaScript. Cela signifie que TypeScript ajoute des couches supplémentaires de syntaxe et de fonctionnalité, sans modifier ou supprimer la fonctionnalité de base autour de laquelle il s’articule.
Pour les développeurs, cela signifie que tout code qui s’exécute correctement en JavaScript s’exécute automatiquement correctement en TypeScript. Que le script en question soit un serveur web écrit pour fonctionner en NodeJS, ou un ensemble de scripts frontaux pour une page web, le passage est exceptionnellement simple.
Après avoir installé le transpileur TypeScript, vous pouvez créer un simple fichier tsconfig.json avec le contenu suivant :
{
"compilerOptions": {
"outDir": "./build",
"allowJs": true,
"target": "es5"
},
"include": ["./src/**/*"]
}
Déplacez tous les fichiers applicables dans le répertoire src et exécutez le transpilateur. Cela créera les fichiers JavaScript résultants dans le répertoire build répertoire.
Ces changements simples et rapides convertiront un projet JavaScript standard en un projet TypeScript. À partir de là, vous êtes libre d’utiliser à votre guise les nouvelles fonctionnalités offertes par TypeScript. Vous pouvez annoter les types sur les variables, implémenter des types personnalisés et définir des interfaces.
Après chaque transpilation, vous pouvez utiliser la sortie de la fonction construire si nécessaire, en ajoutant les fichiers dans n’importe quel projet, comme vous le feriez normalement. Le transpileur vérifiera le type de JavaScript standard et convertira les nouvelles fonctionnalités en scripts ES5 valides.
Ce qu’il faut savoir pour passer de JS à TS
Le processus de conversion d’un projet de JavaScript à TypeScript est exceptionnellement facile. La conversion est aussi simple que de changer la structure du répertoire, d’ajouter un fichier de configuration et d’installer le transpilateur.
Cependant, tirer tous les avantages du nouveau langage peut s’avérer un projet beaucoup plus long. Bien que TypeScript puisse déduire le type de chaque variable d’un projet, celles-ci doivent être explicitement déclarées. Revenir en arrière et ajouter des types personnalisés à un projet, ajouter les annotations appropriées et créer des interfaces peut prendre beaucoup de temps.
L’ajout de ces fonctionnalités à un projet vous permettra toutefois de récolter les avantages d’une vérification correcte des types et d’un outillage élargi. Les grands projets seront plus rapides et plus faciles à construire, vous identifierez les erreurs plus tôt et les nouveaux développeurs auront plus de facilité à lire votre code.
